Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法将void转换为list_C#_.net_Linq_List - Fatal编程技术网

C# 无法将void转换为list

C# 无法将void转换为list,c#,.net,linq,list,C#,.net,Linq,List,我正试图编写我的第一个c#程序,我不能一直得到下面的错误。有人能解释我为什么会犯这个错误吗?每件事物在声明时都有一个类型,虚空从何而来?我正在写代码,如果它是重要的 using System; using System.Linq; using System.Collections.Generic; class MainClass { public static void Main (string[] args) { List<string> mylist = new List

我正试图编写我的第一个c#程序,我不能一直得到下面的错误。有人能解释我为什么会犯这个错误吗?每件事物在声明时都有一个类型,虚空从何而来?我正在写代码,如果它是重要的

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());
  }
  }
}
使用系统;
使用System.Linq;
使用System.Collections.Generic;
类主类{
公共静态void Main(字符串[]args){
List mylist=newlist(){“2”、“1”、“2”、“3”、“3”、“4”};
mylist=mylist.Sort();
foreach(mylist中的var项)
{
Console.Write(item.ToString());
}
}
}
错误:

无法将类型“void”隐式转换为“System.Collections.Generic.List”
mylist.Sort()不返回
列表
,它返回
无效
,您不应该将其分配给列表。 调用
Sort
后,您的整个列表已被排序。

mylist.Sort()不返回
列表
,它返回
无效
,您不应该将其分配给列表。 调用
Sort
后,您的整个列表已被排序。

list。Sort
返回
void
,因为它实际上修改了调用它的
列表(它不返回新集合)。因此,将方法的返回值赋给
列表
是一个编译错误

如果您想要一个不修改基础集合的类型,请考虑使用<代码> OrderBy < /COD>和<代码> Toistist。如果您想急于枚举结果。

<代码>列表。排序< <代码>返回>代码> Value<代码>,因为它实际上修改了<代码>列表>代码>它被调用(它不返回一个新的集合)。因此,将方法的返回值赋给
列表
是一个编译错误


如果您想要一个不修改基础集合的类型,请考虑使用<代码> OrderBy < /COD>和<代码> Telist。如果您想急于枚举结果。

<代码> SoTo()<代码>已就位。不需要指定结果。框架中的大多数内容都是可变的,因此更改原始对象的方法往往返回void,而不是被修改的对象。字符串是一个值得注意的异常。@将数组调用为异常更为准确。字符串包含在其中,因为它们使用数组作为基础数据类型。@Abion47-Meh,你在吹毛求疵。可以对数组进行变异,但不能直接更改其长度。但这并不是字符串不可变的原因,这个决定比数组类型的实现细节要复杂得多。
Sort()
。不需要指定结果。框架中的大多数内容都是可变的,因此更改原始对象的方法往往返回void,而不是被修改的对象。字符串是一个值得注意的异常。@将数组调用为异常更为准确。字符串包含在其中,因为它们使用数组作为基础数据类型。@Abion47-Meh,你在吹毛求疵。可以对数组进行变异,但不能直接更改其长度。但这并不是字符串不可变的原因,这个决定比数组类型的实现细节更复杂。
Cannot implicitly convert type `void' to `System.Collections.Generic.List<string>'