Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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# 按类名字母顺序对列表排序_C#_Sorting - Fatal编程技术网

C# 按类名字母顺序对列表排序

C# 按类名字母顺序对列表排序,c#,sorting,C#,Sorting,我正在Unity/C上做一些练习,其中一个我有一个包含一些继承类的列表 public List<Item> items = new List<Item>(); 如果我对其进行排序,输出将是: myList = { Bonus,ConceptArt, ConceptArt, PowerUp,PowerUp} 我该怎么做 我不知道我是否解释清楚了。 如果我需要编辑,请告诉我: thx:试试这个: items = items.OrderBy(x => x.Ge

我正在Unity/C上做一些练习,其中一个我有一个包含一些继承类的列表

    public List<Item> items = new List<Item>();
如果我对其进行排序,输出将是:

myList = { Bonus,ConceptArt, ConceptArt, PowerUp,PowerUp}
我该怎么做

我不知道我是否解释清楚了。 如果我需要编辑,请告诉我:

thx:

试试这个:

items = items.OrderBy(x => x.GetType().Name).ToList();
要就地排序而不创建新列表,请执行以下操作:


myList=myList.OrderByitem=>item.Name.ToList或类似的东西?您不能轻松地按变量名排序,但我认为这不是重复的问题,因为该问题试图基于列表类型的属性排序,OP试图基于对象本身的类型排序。供将来参考,您所指的术语是inherit/inherited,而不是herit/herited。我可能做了一些不好的事情,但看起来myList.orderBy在Unity中不存在。这与Unity有什么关系?请确保在c文件的开头导入了System.Linq命名空间。例如,使用System.Linq;你说得对,我没有使用系统;谢谢:
items = items.OrderBy(x => x.GetType().Name).ToList();
  myList.Sort((Comparison<Item>) 
    ((left, right) => String.Compare(left.GetType().Name, right.GetType().Name)));
  String report = String.Join(", ", myList
    .Select(item => item.GetType().Name));

  Console.Write(report);