C# - 无法将 lambda 表达式转换为 listitem

C# - Cannot convert convert lambda expression to listitem

Title="xxxxxxx yyyyyyy zzzzzz 1234RED 987";

Value="1234RED";


if (!dialogItems.Exists(x => x.Title == value))

    throw new InvalidOperationException($"List does not have {value}.");

以上代码运行良好,将与标题进行比较。

我需要通过 Contains 而不是 Title 来比较值 需要指导

其他词 - 允许部分字符串匹配

您可以使用以下 lambda 表达式的变体来验证 Contains

A) 您可以检查 Title 是否包含 value

1) Exist

if (!dialogItems.Exists(x => x.Title.Contains(value)))

2) Any

if (!dialogItems.Any(x => x.Title.Contains(value)))

B) 您可以检查 Title 是否包含 value 并修剪所有前导和尾随空格并降低标题和值的大小写。它会增加您的价值与 Title

相匹配的机会

1) Exist

if (!dialogItems.Exists(x => x.Title.Trim().ToLower().Contains(value.Trim().ToLower())))

2) Any

if (!dialogItems.Any(x => x.Title.Trim().ToLower().Contains(value.Trim().ToLower())))