dotSITE
Шаблоны проектирования Work in Murano Software. Вопросы/Ответы
новости материалы решения форумы группы настройки/о проекте
Логин/Регистрация
Логин:
Пароль:
Запомнить вас:
Регистрация
Забыли пароль?

Комментарии

Рекомендации по использованию массивов

Цикл статей

Рекомендации по использованию массивов

Общее описание массивов и использования массивов приведено в разделе MSDN Arrays и System.Array Class.

Сравнение массивов и коллекций

Разработчикам библиотек классов приходится принимать сложное решение о том, когда использовать массив, а когда вернуться к коллекции. Хотя эти типы имеют сходные модели использования, характеристики их производительности различны. Вы должны использовать коллекции в следующих ситуациях:

  • Когда поддерживаются Add, Remove или другие методы манипулирования коллекциями.
  • Чтобы добавить обертки только для чтения для внутренних массивов.

Более подробно об использовании коллекций смотри в разделе MSDN Группирование данных в коллекции (Grouping Data in Collections).

Использование индексированных свойств в коллекциях

Вы должны использовать индексированное свойство только как члены, используемые по умолчанию, класса коллекции или интерфейса. Не создавайте семейств функций в типах, не являющимися коллекциями. Шаблоны таких методов, как Add, Item и Count, предупреждают о том, что тип, использующий их, должен быть коллекцией.

Array Valued свойства

Вы должны использовать коллекции, чтобы избежать неэффективности кода. В следующем примере каждое обращение к свойству myObj создает копию массива. В результате в следующем цикле будет создана 2n+1 копия массива.

[C#]
for (int i = 0; i < obj.myObj.Count; i++)
      DoSomething(obj.myObj[i]);

Более подробная информация приведена в разделе Свойства и методы.

Возвращение пустых массивов

Свойства String и Array никогда не должны возвращать нулевую ссылку. В этом контексте может быть трудно осмыслить нуль (Null). Например, пользователь может предположить, что следующий код будет работать:

[C#]
public void DoSomething()
{
   string s = SomeOtherFunc();
   if (s.Length > 0)
   {
      // Do something else.
   }
}

Общим правилом является то, что нуль (null), пустая строка ("") и пустые (0 элементов) массивы должны интерпретироваться одинаково. Возвращайте вместо нулевой ссылки пустой массив.


Контакт Реклама на сайте Спонсорам Веб мастерам

Лицензионное соглашение - © 2000-2010 dotSITE
Хостинг .NET предоставлен PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development