C#如何对复杂对象字典进行排序
导读:要对复杂对象字典进行排序,可以使用LINQ查询和Lambda表达式来根据特定的属性对对象进行排序。以下是一个示例代码,演示如何对包含复杂对象的字典进行排序: using System; using System.Collections.Ge...
要对复杂对象字典进行排序,可以使用LINQ查询和Lambda表达式来根据特定的属性对对象进行排序。以下是一个示例代码,演示如何对包含复杂对象的字典进行排序:
using System;
using System.Collections.Generic;
using System.Linq;
public class Person
{
public string Name {
get;
set;
}
public int Age {
get;
set;
}
}
public class Program
{
public static void Main()
{
Dictionary<
int, Person>
dict = new Dictionary<
int, Person>
{
{
1, new Person {
Name = "Alice", Age = 25 }
}
,
{
2, new Person {
Name = "Bob", Age = 30 }
}
,
{
3, new Person {
Name = "Charlie", Age = 20 }
}
}
;
var sortedDict = dict.OrderBy(x =>
x.Value.Age).ToDictionary(x =>
x.Key, x =>
x.Value);
foreach (var item in sortedDict)
{
Console.WriteLine($"Key: {
item.Key}
, Name: {
item.Value.Name}
, Age: {
item.Value.Age}
");
}
}
}
在上面的示例中,我们定义了一个名为Person的类,该类具有Name和Age属性。然后我们创建了一个字典dict,其中包含整数键和Person对象值。我们使用LINQ的OrderBy方法根据Person对象的Age属性对字典进行排序,并将排序后的结果转换为新的字典sortedDict。最后,我们遍历sortedDict并打印出每个元素的键和值。
你可以根据自己的需求修改排序的逻辑,例如按照Name属性或者自定义的排序规则进行排序。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C#如何对复杂对象字典进行排序
本文地址: https://pptw.com/jishu/688479.html