C#-无法将转换Lambda表达式转换为Listitem

时间:2018-11-23 06:29:09

标签: c# c#-4.0

Title="xxxxxxx yyyyyyy zzzzzz 1234RED 987";

Value="1234RED";


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

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

以上代码可以正常工作,可以与标题进行比较。

我需要按包含而不是标题比较值  需要方向

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

1 个答案:

答案 0 :(得分:0)

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

A)您可以通过

检查Title是否包含value

1)Exist

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

OR

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())))

OR

2)Any

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