--------------------------------------------------------------EmployeeID.cs(键)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
public class EmployeeID : IComparable<EmployeeID>
{
public int ID { get; private set; }
public EmployeeID(int id)
{
this.ID = id;
}
public int CompareTo(EmployeeID other)
{
return ID.CompareTo(other.ID);
}
}
--------------------------------------------------------------Person.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class Person
{
public string Country { get; private set; }
public string Name { get; private set; }
public int Age { get; private set; }
public Person(string country, string name, int age)
{
this.Country = country;
this.Name = name;
this.Age = age;
}
}
}
--------------------------------------------------------------主程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//SortedList<TKey,TValue>使用的内存少
//SortedDictionary<TKey,TValue>元素插入和删除速度快
//键要实现IComparable<in T>接口
SortedDictionary<EmployeeID, Person> sd = new SortedDictionary<EmployeeID, Person>();
sd.Add(new EmployeeID(3),new Person("中国", "张飞", 40));
sd.Add(new EmployeeID(20), new Person("中国", "关羽", 43));
sd.Add(new EmployeeID(4), new Person("中国", "刘备", 45));
sd.Add(new EmployeeID(5), new Person("中国", "诸葛亮", 24));
sd.Add(new EmployeeID(1), new Person("美国", "豪威尔", 40));
sd.Add(new EmployeeID(0),new Person("美国", "奥巴马", 40));
sd.Add(new EmployeeID(210), new Person("朝鲜", "金三胖", 40));
sd.Add(new EmployeeID(80), new Person("印度", "印度阿三", 40));
foreach (var item in sd)
{
Console.WriteLine(item.Key.ID+","+item.Value.Name);//键,正序排序
}
Console.ReadKey();
}
}
}
转载于:https://blog.51cto.com/962410314/1548070
本文介绍了一个使用 C# 实现的 SortedDictionary 示例,演示了如何使用 EmployeeID 作为键,Person 对象作为值来创建一个排序字典。通过实现 IComparable 接口,确保了 EmployeeID 可以被正确排序。
&spm=1001.2101.3001.5002&articleId=91750299&d=1&t=3&u=d0c93336828641418667af90dd6f7b03)
6426

被折叠的 条评论
为什么被折叠?



