名字1 487
名字2 312
名字3 587
我想把名字对应的数据排序(升序或降序都可)好,然后输出对应的数字对应的名字
该如何做
名字2 312
名字3 587
我想把名字对应的数据排序(升序或降序都可)好,然后输出对应的数字对应的名字
该如何做
解决方案 »
- 两个小问题,请求帮助?
- 使用DirectX录音,构造WaveFormat失败?
- 问个输入密码的小问题
- 请问C# 中的TextBox 滚动条走到顶和底的事件是什么?
- 关于数据库登录的问题,相信应该有一些代表性,高手进来看看
- dataGrid 在不同记录间移动是激活哪个事件?
- 紧急提问: .Net中的Project的Property中的Output Type突然丢失了.
- 求助,怎样实现系统电源管理
- 为什么不能引用System.Windows.Forms?
- 主 题: 关于winform中DataGrid的自增列的问题:
- 已定义datatable,如何获得已知列名的datatype
- winform中 绑定的数据项,如何水平排列显示
void Main()
{
List<test> list = new List<test>();
list.Add(new test(" 名字1",487));
list.Add(new test(" 名字2",312));
list.Add(new test(" 名字3",587)); List<test> listASC = list.OrderBy(l => l.value).ToList();
List<test> listDESC = list.OrderByDescending(l => l.value).ToList();
Console.WriteLine("升序:");
foreach( test t in listASC)
{
Console.WriteLine(t.name+" "+t.value);
}
Console.WriteLine("降序:");
foreach( test t in listDESC)
{
Console.WriteLine(t.name+" "+t.value);
}
}
class test
{
public string name { get; set; }
public int value { get; set; }
public test(string _name, int _value)
{
name = _name;
value = _value;
}
}
// 建议使用LINQ
List<test> listDESC = list.OrderByDescending(l => l.value).ToList();l => l.value是linq里的东西吗
class test:IComparable<test>
{
public string name { get; set; }
public int value { get; set; }
public test(string _name, int _value)
{
name = _name;
value = _value;
} public int CompareTo(test obj)
{
return this.value.CompareTo(obj.value);
} }实现了这个方法以后就可以执行list的排序方法了。
List<test> list = new List<test> {
new test(" 名字1",487),
new test(" 名字2",312),
new test(" 名字3",587)
}; list.Sort(); //test要实现compareTo方法才可以用这个方法。 foreach (test te in list)
{
Console.WriteLine("{0},{1}", te.name, te.value);
}
结果
名字2 312
名字1 487
名字3 587