gpt4 book ai didi

c# - LINQ 返回一个接口(interface)?

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

只是浏览 LINQ tutorials on MSDN并遇到以下代码:

IEnumerable<int> numQuery1 = 
from num in numbers
where num % 2 == 0
orderby num
select num;

我不明白接口(interface)是如何返回的?我的理解是接口(interface)只是类的轮廓,当然不能包含任何数据。

我希望这个能被清理掉。

最佳答案

接口(interface)是关于返回值的契约:Linq 实际上不会告诉您什么它会返回(在实际的类中),但它会保证它的行为类似于 IEnumerable<int> ,即它返回的类实现了这个接口(interface)。它可能是 List<int>WhackyLinqInternalEnumerable<int> - 但你并不真正关心,因为,好吧,你感兴趣的只是界面(你可以用对象做什么)。

可能会让您感到困惑的一件事是变量和它所代表的对象之间的区别:对于(引用)类型,变量只是“指向”对象。你可以有很多变量“指向”同一个对象。它们不需要具有相同的类型,但它们所指向的对象必须与变量具有相同的类型、子类型或(在具有接口(interface)类型的变量的情况下)必须实现相同的变量。

关于c# - LINQ 返回一个接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7191315/

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