Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
1

Очищение списка БД - оптимален ли приведенный код

27.09.2014, 15:15. Показов 503. Ответов 6
Метки нет (Все метки)

Добрий день, нуждаюсь в помощи.

У меня есть список DataBase, с которого я должен удалять элементы по заданому индексу. Делаю это способом ниже, но мне подсказали что этот способ плох, и я вот думаю как это можно сделать получше. Подскажите пожалуйста.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public static void Delete_Student(int index)
        {
            try
            {
                for (int i = index; i < DataBase.Count - 1; i++)
                    DataBase[i] = DataBase[i + 1];
 
                DataBase[DataBase.Count - 1] = null;
            }
            catch (ArgumentOutOfRangeException exc)
            {
                Console.WriteLine(exc.Message);
            }
            catch (FormatException exc)
            {
                Console.WriteLine(exc.Message);
            }
        }
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.09.2014, 15:15
Ответы с готовыми решениями:

Очищение списка с обьектами
Когда пули улетают за экран я их удаляю, но список с пулями продолжает расти, только там missing...

Очищение памяти всего списка сравнений (деструктор)
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; #include &lt;conio.h&gt; #include &lt;list&gt; ...

Прокомментируйте приведенный код
# include&lt;iostream&gt; # include&lt;conio.h&gt; # include&lt;string&gt; # include&lt;stdio.h&gt; #include &lt;stdlib.h&gt;...

Разобрать приведенный код
//--------------------------------------------------------------------------- #include &lt;vcl.h&gt;...

6
52 / 52 / 31
Регистрация: 04.03.2014
Сообщений: 430
27.09.2014, 17:36 2
может он плх потому что нужно удалять через вызов деструктора, а именно метода диспоз
0
Эксперт .NET
5308 / 4104 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
28.09.2014, 08:23 3
Цитата Сообщение от IConstructor Посмотреть сообщение
У меня есть список DataBase, с которого я должен удалять элементы по заданому индексу.
IConstructor, в смысле простой List<T>? У него же есть методы удаления по индексу...
Цитата Сообщение от valdi_korot Посмотреть сообщение
нужно удалять через вызов деструктора, а именно метода диспоз
valdi_korot, это вы о чем вообще? Не понял...
1
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
29.09.2014, 00:19  [ТС] 4
что-то я о таком методе не знал..
0
868 / 718 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
29.09.2014, 00:25 5
IConstructor,
RemoveAt удаляет по индексу
http://msdn.microsoft.com/ru-r... .110).aspx
1
1 / 1 / 0
Регистрация: 29.06.2014
Сообщений: 179
29.09.2014, 00:26  [ТС] 6
Ну сделал вот так вот. Нормально вроди?

C#
1
2
3
4
   for (int i = index; i < DataBase.Count - 1; i++)
                    DataBase[i] = DataBase[i + 1];
 
                DataBase.RemoveAt(DataBase.Count - 1);
0
1055 / 862 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
29.09.2014, 10:34 7
IConstructor, 1) зачем вручную делать то, что и так делает RemoveAt?
2) Если у вас задание расширить функциональность стандартного массива до List<T>, то вы на верном пути, только, похоже, что вы и так используете List<T>
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2014, 10:34

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Объяснить приведенный код
Кто может объяснить мне этот код. Что она делает и в каких местах особенно Fixed. Вот код...

Прокомментировать приведенный код
прокомментируйте эти строки мне нужно понять просто что каждая из в себе несет и что означает ...

Разъясните приведенный код
List&lt;CheckBox&gt; check = panel1.Controls.OfType&lt;CheckBox&gt;().Where(x =&gt; x.Checked == true).ToList();...

Разобрать приведенный код
Private Sub Form_Click() Dim x, amax, amin As Single x = InputBox(&quot;Enter a score&quot;) amax =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.