我正在尝试写我的第一个c#程序,我不能一直得到下面的错误。有人能解释一下为什么我会犯这个错误吗?万物都有一种类型,当它被宣告时,虚空从何而来?如果这一点很重要,我将在https://repl.it/languages/csharp上编写代码。
using System;
using System.Linq;
using System.Collections.Generic;
class MainClass {
public static void Main (string[] args) {
List<string> mylist = new List<string>() { "2","1","2","3","3","4" };
mylist=mylist.Sort();
foreach(var item in mylist)
{
Console.Write(item.ToString());
}
}
}错误:
不能隐式转换类型
void' toSystem.Collections.Generic.List‘
发布于 2017-02-06 19:30:57
List<T>.Sort返回void,因为它实际上修改了调用的List (它不返回新集合)。因此,将方法的返回值分配给List是编译错误。
如果您想要一个不修改基础集合的排序,请考虑使用OrderBy和ToList,如果您想要急切地枚举结果。
发布于 2017-02-06 19:30:17
mylist.Sort();不返回List,它返回void,您不应该将它分配给列表。调用Sort之后,您的整个列表已经被搜索完毕。
https://stackoverflow.com/questions/42075774
复制相似问题