C# IList<;项目>;比较并检查重复数据
在我得到所有的IList之后,我想比较卡号,如果这与返回true相同,则返回false。字符串卡号是我得到的文本 我比较的方式显示了错误 无法将类型“System.Collections.Generic.List”隐式转换为“bool”C# IList<;项目>;比较并检查重复数据,c#,winforms,C#,Winforms,在我得到所有的IList之后,我想比较卡号,如果这与返回true相同,则返回false。字符串卡号是我得到的文本 我比较的方式显示了错误 无法将类型“System.Collections.Generic.List”隐式转换为“bool” public bool IsCardCodeDuplicate(long? organizationId, string cardNumber) { IList<CardDto> card = CardData.In
public bool IsCardCodeDuplicate(long? organizationId, string cardNumber)
{
IList<CardDto> card = CardData.Instance.GetCardList(organizationId, null);
//if (cardNumber != null)
//{
// card = card.Where(p => p.CardNumber == cardNumber.ToString()).ToList();
// return true;
//}
if (card.Where(p => p.CardNumber == cardNumber.ToString())
{
return true;
}
return false;
}
public bool IsCardCodeDuplicate(长?组织ID,字符串卡号)
{
IList card=CardData.Instance.GetCardList(organizationId,null);
//如果(卡号!=null)
//{
//card=card.Where(p=>p.CardNumber==CardNumber.ToString()).ToList();
//返回true;
//}
if(card.Where(p=>p.CardNumber==CardNumber.ToString())
{
返回true;
}
返回false;
}
卡。其中(p=>p.CardNumber==CardNumber.ToString()
返回具有指定卡号的卡的列表。您可以通过
var list = card.Where(p => p.CardNumber == cardNumber.ToString());
if (list.Count() > 0)
{
return true;
}
或者更好,试试card.Any(p=>p.CardNumber==CardNumber)
,它返回一个布尔值。Any
性能更好,因为它只产生第一个匹配元素,而Where
将产生所有匹配元素。public bool IsCardCodeDuplicate(long?organizationId,string CardNumber)
public bool IsCardCodeDuplicate(long? organizationId, string cardNumber)
{
IList<CardDto> card = CardData.Instance.GetCardList(organizationId, null);
return card.Any(p => p.CardNumber == cardNumber);
}
{
IList card=CardData.Instance.GetCardList(organizationId,null);
返回卡。任意(p=>p.CardNumber==CardNumber);
}
无需将cardNumber
转换为字符串,因为它已经是字符串