gpt4 book ai didi

c# - 为什么在调用 IEnumerable.Contains() 时需要转换动态对象?

转载 作者:太空狗 更新时间:2023-10-29 23:06:26 24 4
gpt4 key购买 nike

<分区>

我正在尝试使用 dynamic 参数调用 IEnumerable.Contains(),但出现错误

'IEnumerable' does not contain a definition for 'Contains' and the best extension method overload 'Queryable.Contains(IQueryable, TSource)' has some invalid arguments

我注意到我可以将参数转换为正确的类型,或者使用底层集合类型来解决问题。但我不确定为什么我不能直接传入参数。

dynamic d = "test";
var s = new HashSet<string>();
IEnumerable<string> ie = s;

s.Contains(d); // Works
ie.Contains(d); // Does not work
ie.Contains((string)d); // Works

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