c# - 检查列表属性值之一中的字符串?

标签 c#

我有一个公开课。

public class StoreItems 
{
    public string itemName;
    public string itemPrice;
    public string itemQuantity;
}

我有一个列表。

public List <StoreItems> itemData = new List<StoreItems> ();

用户将输入一个项目名称,我应该检查该项目名称是否已经在我的项目数据的项目名称中。

我现在的代码是这样的

if (itemData.Find(x => x.itemData.Equals(userInput))
 {
  //already in list
 }
else
 {
 //add data
 }

但是,我收到一条错误消息,指出无法将 itemData 隐式转换为 bool。提示将不胜感激

最佳答案

您可以使用 LINQ 轻松实现这一目标。

if(itemData.Any(data => data.itemName == userInput))

Any检查 IEnumerable 的所有项是否与给定谓词匹配。

关于c# - 检查列表属性值之一中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45160781/

相关文章:

c# - 动态 IL 方法导致 "Operation could destabilize the runtime"

c# - 使用某种类型的变量进行转换

c# - wpf中的UserControl显示顺序

c# - ASP.NET内存管理技术

c# - 在 C#/Powershell 中 - 是否可以更改 IIS 应用程序池的空闲超时?

c# - 是否可以使用非特殊文件夹作为 FolderBrowserDialog 的根文件夹?

c# - Lambda 和 Foreach

c# - 在 LINQ 中使用 PropertyInfo 对象查询集合

c# - 如何在 MSTest 中测试具有控制台 I/O 的类

c# - 如何在 winforms 应用程序中隐藏我的服务器 IP 变量