我有一个公共课。
public class StoreItems
{
public string itemName;
public string itemPrice;
public string itemQuantity;
}
我有一个清单。
public List <StoreItems> itemData = new List<StoreItems> ();
用户将输入一个项目名称,我应该检查该项目名称是否已经在我的itemData的itemName中。
我目前的代码是这样的
if (itemData.Find(x => x.itemData.Equals(userInput))
{
//already in list
}
else
{
//add data
}
但是,我收到错误,说itemData无法隐式转换为bool。提示将不胜感激
答案 0 :(得分:10)
答案 1 :(得分:3)
由于您有List<>
且已尝试使用List<T>.Find
,因此也适用:
StoreItems matchingItem = itemData.Find(si => si.itemName == userInput);
if (matchingItem != null)
{
//already in list
}
else
{
//add data
}
当然,只有列表中没有空引用时才有效。