gpt4 book ai didi

c# - c#中contains和contains<>的区别

转载 作者:太空狗 更新时间:2023-10-30 01:02:10 25 4
gpt4 key购买 nike

我可能很笨,但是contains之间有什么区别?和 contains<>在VS耳语帮助?有时我会得到两个,有时只会得到带有 <> 的一个。

他们的事情是我正在尝试使用包含在 where 中的一些解决方案,但它抛出错误,我最好的重载方法有一些无效参数(他们的方法是 System.Linq.ParallelEnumerable.Contains<TSource>(...) )。

我的代码是这样的:

defaultDL = db.SomeEntity
.Where(dl => dl.Something == this.Something
&& (dl.AllLocation == true || this.SomeOtherEntity.Select(loc => loc.Location).Contains(dl.Location)))
.ToList();

最佳答案

如果您导航到 System.Linq.Enumerable.Contains 的定义方法,您会看到它被声明为通用扩展方法。

public static bool Contains<TSource>(this IEnumerable<TSource> source, TSource value);

为什么有时候会用<type>调用的原因参数,有时不是 - 因为大多数时候编译器会分析它的参数并自动确定类型。所以在幕后,它将被重写为显式通用调用。

喜欢

someCollection.Contains(someValue);

实际上正在编译为

Enumerable.Contains<CollectionInnerType>(someCollection, someValue);

关于c# - c#中contains和contains<>的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34921703/

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