«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Должны ли методы вернуть нулевые или пустые коллекции?

Должны ли методы вернуть нулевые или пустые коллекции?

Опубликовано в 2025-01-26
Просматривать:179

Should Methods Return Null or Empty Collections?

обратно в NULL или пустую коллекцию: Best Practice

Когда дизайн возвращает набор в качестве метода возвращающегося типа значения, он вызовет проблему: Должен ли он вернуть NULL или пустую коллекцию? Наиболее рекомендуется вернуть пустую коллекцию при любых обстоятельствах.

Почему выбирать пустую коллекцию?

]]

возвращение NULL - плохая практика, потому что он может вызвать ненужную сложность кода и потенциальные ошибки времени выполнения. Например, если вы возвращаете NULL для атрибута коллекции:

] if (myinstance.collectionproperty! = null) {{ Foreach (var item в myinstance.collectionproperty) / * Если CollectionProperty Null, этот код может не удалиться */ }

, если myinstance.collectionProperty действительно нулевой, этот код может вызвать отклонения. Напротив, лучше всего вернуть пустую коллекцию, чтобы убедиться, что приведенный выше код все еще может быть выполнен без ошибок.

if(myInstance.CollectionProperty != null)
{
  foreach(var item in myInstance.CollectionProperty)
    /* 如果 CollectionProperty 为 null,此代码可能会失败 */
}
для атрибутов возвращаемого набора рекомендуется инициализировать атрибут только один раз. Это может быть завершено во время конструктора, который содержит классы, содержащие атрибут:

]

public foos {public get; общественный бар

используйте C# 6, чтобы использовать более краткую версию: ] public foos {get;} = новый список ();

Best Practice

public List Foos { public get; private set; }

public Bar() { Foos = new List(); }

public ienumerable getmyfoos () {{ Вернуть innergetfoos () ?? }

 Этот метод гарантирует, что даже если innergetFoos () возвращает NULL, этот метод все равно будет возвращать пустой набор, чтобы предотвратить потенциальные ошибки. 
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3