gpt4 book ai didi

c# - LINQ Any() 参数与参数数据类型问题

转载 作者:太空狗 更新时间:2023-10-29 20:00:25 25 4
gpt4 key购买 nike

我有一个带有名为“baan_cat_fam_code”的字符串类型参数的对象。下面的代码是我尝试在查询中查找所有具有 baan_cat_fam_code 的项目,这些项目存在于名为 catFamCd 的通用字符串列表中。

query = query.Where(r => r.baan_cat_family_code.Any(s => catFamCode.Contains(s)));

问题是这不会编译 - 我收到一个错误

"Argument type 'char' is not assignable to parameter type 'string'"

由于某种原因,谓词 s 被键入为 char。因此,我将 .ToString() 附加到 .Contains 方法中的参数。但是,当代码运行时,当查询结果绑定(bind)到列表框时,我会抛出以下异常。

"The argument 'value' was the wrong type. Expected 'System.Char'. Actual 'System.String'."

这让我摸不着头脑。如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

您遇到的问题是 baan_cat_family_code类型为 string实现IEnumerable<char> .当您调用 Any它本质上是在说

  • 对于任何 char 谓词是否为真在这个string

你真正想问的是

  • 这是string吗在列表中catFamCode

尝试执行后者的以下操作

query = query.Where(r => catFamCode.Contains(r.baan_cat_family_code));

关于c# - LINQ Any() 参数与参数数据类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6861801/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com