版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/A13155283231/article/details/84849237
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
public class MyInfo
{
public MyInfo(string name, int level, int age)
{
this.name = name;
this.level = level;
this.age = age;
}
public string name;
public int level;
public int age;
}
public class Program
{
public static List<MyInfo> myList = new List<MyInfo>();
public static Dictionary<int, MyInfo> myDic = new Dictionary<int, MyInfo>();
static void Main(string[] args)
{
myList.Add(new MyInfo("A", 2, 9));
myList.Add(new MyInfo("C", 8, 6));
myList.Add(new MyInfo("B", 6, 7));
myDic.Add(1, new MyInfo("A", 2, 9));
myDic.Add(2, new MyInfo("C", 8, 6));
myDic.Add(3, new MyInfo("B", 6, 7));
// 按年龄排序
myList.Sort((x, y) => { return x.age.CompareTo(y.age); });
myDic = myDic.OrderBy(s => s.Value.age).ToDictionary(pair => pair.Key, pair => pair.Value);
// 查询
var query = (from s in myDic
where s.Value.name == "A"
select s).ToDictionary(pair => pair.Key, pair => pair.Value);
Console.WriteLine("============= List: ");
foreach (var item in myList)
{
Console.WriteLine(item.name + " " + item.level + " " + item.age);
}
Console.WriteLine("============= Dic: ");
foreach (var item in myDic)
{
Console.WriteLine(item.Key + " " + item.Value.name + " " + item.Value.level + " " + item.Value.age);
}
Console.WriteLine("============= 查询结果Dic2: ");
foreach (var item in query)
{
Console.WriteLine(item.Key + " " + item.Value.name + " " + item.Value.level + " " + item.Value.age);
}
Console.WriteLine("============= Index: ");
// 获取字典对应的索引
var item1 = Array.IndexOf( myDic.Keys.ToArray(), 2);
Console.WriteLine(item1);
Console.ReadLine();
}
}
}