c# – 无法弄清楚如何检查列表是否包含0
作者:互联网
此代码检查交易对手列表是否包含电子邮件地址.
然后在else语句中,有可能电子邮件地址仍然为0.我需要一段代码,当它为零时填写电子邮件地址列表.
if (counterParty == null)
{
mailAddressesOfCounterparty = new List<Email>();
Email unKnownEmail = new Email();
unKnownEmail.EmailAddress = loopPayment.ShortNameCalypso + "@NotInCounterpartyTable.nl";
mailAddressesOfCounterparty.Add(unKnownEmail);
}
else
{
mailAddressesOfCounterparty =
emailAddress.Where(ea => ea.CounterPartyId == counterParty.Id && ea.IsOptionContract == startOfGroupPayment.OptionContract).ToList();
}
此代码需要制作电子邮件地址.只是不知道如何检查是否为零.
Email unKnownEmail = new Email();
unKnownEmail.EmailAddress = loopPayment.ShortNameCalypso + "@NotInCounterpartyTable.nl";
mailAddressesOfCounterparty.Add(unKnownEmail);
在else中我需要添加一个可能性,当它变为零时,将电子邮件地址更改为某些东西.
代码不会让我们使用if语句.
mailAddressesOfCounterparty变为零,因为尚未在数据库中添加内容.但是,在使用此应用程序时,这些信息可能会丢失.在这种情况下,我想创建一个emailaddress,它将显示无法找到它.
解决方法:
如果我正确理解了这个问题,您需要验证列表中是否有任何已在else子句中过滤的地址.
linq扩展方法“Any()”可用于确定枚举是否包含任何项目(还有其他方法),使用此示例(基于您的代码)是:
if (counterParty == null)
{
mailAddressesOfCounterparty = new List<Email>();
Email unKnownEmail = new Email();
unKnownEmail.EmailAddress = loopPayment.ShortNameCalypso + "@NotInCounterpartyTable.nl";
mailAddressesOfCounterparty.Add(unKnownEmail);
}
else
{
mailAddressesOfCounterparty = emailAddress.Where(ea => ea.CounterPartyId == counterParty.Id && ea.IsOptionContract == startOfGroupPayment.OptionContract).ToList();
if (!mailAddressesOfCounterparty.Any())
{
Email unKnownEmail = new Email();
unKnownEmail.EmailAddress = loopPayment.ShortNameCalypso + "@NotInCounterpartyTable.nl";
mailAddressesOfCounterparty.Add(unKnownEmail);
}
}
标签:c,exchange-server 来源: https://codeday.me/bug/20190611/1221071.html