首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将空转换为列表

无法将空转换为列表
EN

Stack Overflow用户
提问于 2017-02-06 19:29:13
回答 2查看 1.9K关注 0票数 1

我正在尝试写我的第一个c#程序,我不能一直得到下面的错误。有人能解释一下为什么我会犯这个错误吗?万物都有一种类型,当它被宣告时,虚空从何而来?如果这一点很重要,我将在https://repl.it/languages/csharp上编写代码。

代码语言:javascript
复制
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‘

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-06 19:30:57

List<T>.Sort返回void,因为它实际上修改了调用的List (它不返回新集合)。因此,将方法的返回值分配给List是编译错误。

如果您想要一个不修改基础集合的排序,请考虑使用OrderByToList,如果您想要急切地枚举结果。

票数 7
EN

Stack Overflow用户

发布于 2017-02-06 19:30:17

mylist.Sort();不返回List,它返回void,您不应该将它分配给列表。调用Sort之后,您的整个列表已经被搜索完毕。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42075774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档