我们说我有一个字符串列表。基于我想添加代码的字符串的值。
例如,我有三个字符串;名字,姓氏和电子邮件地址。它们可以为null或为空。让我们说姓氏和电子邮件是空的,然后我想要以下代码:
repository.Find(dto => dto.FirstName == firstName)
.Select(x => CreateAccount(x)).ToList();
当只有电子邮件为空时,代码应如下所示:
accountRepository.Find(dto => dto.FirstName == firstName ||
dto.LastName == lastName)
.Select(x => CreateAccount(x)).ToList();
换句话说,当循环遍历字符串时,我想在字符串不为空时添加代码。这有可能吗?
答案 0 :(得分:2)
您可以修改查找谓词:
accountRepository.Find(dto =>
(string.IsNullOrEmpty(firstName) ? false : dto.FirstName == firstName) ||
(string.IsNullOrEmpty(lastName) ? false : dto.LastName == lastName) ||
(string.IsNullOrEmpty(email) ? false : dto.Email == email))
.Select(x => CreateAccount(x)).ToList();