与List <> OrderBy Alphabetical Order类似,我们希望按一个元素排序,然后按另一个元素排序.我们希望实现功能相当于
SELECT * from Table ORDER BY x, y
Run Code Online (Sandbox Code Playgroud)
我们有一个包含许多排序函数的类,我们没有问题按一个元素排序.
例如:
public class MyClass {
public int x;
public int y;
}
List<MyClass> MyList;
public void SortList() {
MyList.Sort( MySortingFunction );
}
Run Code Online (Sandbox Code Playgroud)
我们在列表中有以下内容:
Unsorted Sorted(x) Desired
--------- --------- ---------
ID x y ID x y ID x y
[0] 0 1 [2] 0 2 [0] 0 1
[1] 1 1 [0] 0 1 [2] 0 2
[2] 0 2 [1] 1 1 [1] 1 …Run Code Online (Sandbox Code Playgroud) 可能重复:
使用预定义的排序值
列表对对象排序C#Help:在C#中排序对象列表双重帖子
public class CarSpecs
{
public CarSpecs()
{
}
private String _CarName;
public String CarName
{
get { return _CarName; }
set { _CarName = value; }
}
private String _CarMaker;
public String CarMaker
{
get { return _CarMaker;}
set { _CarMaker = value; }
}
private DateTime _CreationDate;
public DateTime CreationDate
{
get { return _CreationDate; }
set { _CreationDate = value; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是一个列表,我试图找出一种有效的方法来排序这个列表 List<CarSpecs> CarList,包含汽车生产日期的6(或任何整数)汽车.我打算做冒泡排序,但那会有用吗?任何帮助?
谢谢
我想排序一个人说的名单
List<Person> persons=new List<Person>();
persons.Add(new Person("Jon","Bernald",45000.89));
persons.Add(new Person("Mark","Drake",346.89));
persons.Add(new Person("Bill","Watts",456.899));
Run Code Online (Sandbox Code Playgroud)
基于
public enum CompareOptions
{
ByFirstName,
ByLastName,
BySalary
}
public enum SortOrder
{
Ascending,
Descending
}
Run Code Online (Sandbox Code Playgroud)
使用lambda表达式排序的方法是什么?
public static List<Person> SortPeople(this List<Person> lst,
CompareOptions opt1,SortOrder ord)
{
lst.Sort((p,op1,op2)=>{ how to apply lambda expression here});
}
Run Code Online (Sandbox Code Playgroud) 我在 C# 中对列表进行排序时遇到问题。我提出的解决方案很笨拙,对我来说似乎有点黑客。我正在寻找一个优雅的解决方案来解决下面描述的问题。我想让排序保留在类中,以避免在代码的其他部分使用 .Sort() 或 .OrderBy() 。一个 9 岁的帖子表明不存在这样的类/解决方案。但是,我不禁感到有些类似于 OrderedList 的东西不是 IDictionary。
using System;
using System.Collections.Generic;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
var obj = new Class1();
obj.Test();
}
}
public class Class1
{
public void Test()
{
var myList = new List<MyObject>();
myList.Add(new MyObject { Id = 1, Name = "ZZZ" });
myList.Add(new MyObject { Id = 2, Name = "NNN" });
myList.Add(new MyObject { Id = 3, Name = "PPP" });
myList.Add(new MyObject …Run Code Online (Sandbox Code Playgroud)