Я думаю, это довольно простой вопрос, но либо мой мозг еще не проснулся, либо я просто туплю!
У меня есть класс, у которого есть свойство набора строк, определенное ниже (имена упрощены)
public class IdentifierCollection : BaseSubCollection, IIdentifierCollection
{
public string Id1{ get; set; }
public string Id2{ get; set; }
public string Id3{ get; set; }
// ...
}
Я хочу проверить, действительно ли какое-либо из свойств имеет значение перед сохранением, поэтому сейчас я делаю что-то вроде этого...
if (string.IsNullOrEmpty(primaryObj.Identifiers?.Id2) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id2) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id3) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id4) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id5) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id6) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id7) &&
string.IsNullOrEmpty(primaryObj.Identifiers?.Id8))
{
}
Просто напечатать это кажется неправильным!! Должен быть лучший способ...
IIdentifierCollection
намекает, что это коллекция, почему она не реализует IEnumerable? Затем вы можете просто перебрать его с помощью foreach или чего-то еще. - person Neijwiert   schedule 25.02.2016yield return Id1; yield return Id2;
и так далее, потому что он подвержен ошибкам. - person CodeCaster   schedule 25.02.2016