我正在尝试编写我的第一个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());
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
Run Code Online (Sandbox Code Playgroud)Cannot implicitly convert type `void' to `System.Collections.Generic.List<string>'
List<T>.Sort返回,void因为它实际修改List它被调用(它不返回一个新的集合).因此,将方法的返回值List赋给a 是编译错误.
如果您想要一种不修改底层集合的排序,请考虑使用OrderBy,ToList如果您想要急于枚举结果.