gpt4 book ai didi

c# - ToArray() 和 ToArray(); 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 19:52:27 27 4
gpt4 key购买 nike

对不起,如果我问的是愚蠢的问题,但任何人都可以解释以下两个调用 (ToArray) 之间的区别。在智能感知中,它不会将它们显示为重载方法,当然这两个调用的输出是相同的。

List<int> i = new List<int> { 1, 2, 5, 64 };
int[] input = i.Where(j => j % 2 == 1).ToArray();
input = i.Where(j => j % 2 == 1).ToArray<int>();

最佳答案

没有区别,是完全相同的 ToArray() 方法。编译器可以简单地推断出您想要 ToArray<int>表达式语法的版本。 Where() 的返回值被推断为返回 int。换句话说,它使用 Where<int>() .这是从 List<> 的类型推断出来的。所以它可以推断出你需要 ToArray<int> .

所以类型推断链是List<int> => Where<int>() => ToArray<int>() .

将列表更改为,比如说,List<long>表达式仍然有效,无需修改。

关于c# - ToArray() 和 ToArray<int>(); 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17056316/

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