gpt4 book ai didi

c# - C#中重载函数的执行顺序

转载 作者:太空宇宙 更新时间:2023-11-03 20:02:27 25 4
gpt4 key购买 nike

只是想知道 C# 如何确定方法重载中对象的执行顺序例如我有一个方法

bool SomeMethod(IQueryable source)
{
//.... Do Work
}

bool SomeMethod(IEnumerable source)
{
//.... Do Work
}

var Obj = Db.Table.Where(ID > 5);

SomeMethod(Obj);

当我运行此代码时,代码转到 IQueryable 重载,现在是因为我首先声明了 IQueryable,是因为 IQueryable 是 IEnumerable 类型还是有其他一些潜在原因?

-谢谢

最佳答案

有一个更好的算法(C# 规范的第 7.4.3 节)用于在存在多个适用重载的情况下决定使用哪个方法重载。在这种情况下,IQueryable 可以隐式转换为 IEnumerable,但是 IEnumerable 不能隐式转换为 IQueryable ,使 IQueryable 成为“更好的”重载。

另见
7.4.2.3 Better conversion

关于c# - C#中重载函数的执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26495698/

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