8
A
回答
10
SortedList进行了优化,以便惰性以有序的方式发生,以便以最小的成本按排序顺序进行枚举。其他任何事情都需要重新排序。因此:
SortedList<string,bool> l=new SortedList<string, bool>();
l.Add("a",true);
l.Add("a",false);
l.Add("b",true);
l.Add("b",false);
var orderByVal=l.OrderBy(kvp => kvp.Value);
但此枚举会显著慢来计算,并先期进行,需要额外的存储空间这样做。
根据您的情况,维护2个SortedList实例的键/值颠倒可能会更便宜。
2
在.NET 2.0中,你可以添加你的资料转移到排序列表:
public static List<MyObject> SortedObjects(IEnumerable<MyObject> myList) {
SortedList<string, MyObject> sortedList = new SortedList<string, MyObject>();
foreach (MyObject object in myList) {
sortedList.Add(object.ValueIWantToSort, object);
}
return new List<MyObject>(sortedList.Values);
}
+0
该实现的问题是,你想排序的值可能不是唯一的,如在OP的问题。 – 2014-10-23 18:06:10
3
降序所有列表项
list.OrderByDescending();
或
var list = list.OrderByDescending(x => x.Product.Name)
.ThenBy(x => x.Product.Price).ToList();
+0
这是关于排序列表,而不是列表 – Kevman 2017-05-18 19:17:52
0
通常说来分类通过列表中的第一个键,所以如果您交换添加的键和值,然后马TCH上绑定 我使用的样品例如,做工精细
public static SortedList<string, string> GetCountries(string conn)
{
var dict = new SortedList<string, string>();
dict.Add("","Select One");
var sql = "SELECT [CountryID] ,[Descr] FROM [dbo].[Countries] Order By CountryID ";
using (var rd = GetDataReader(conn, sql))
{
while (rd.Read())
{
dict.Add(rd["Descr"].ToString(), rd["CountryID"].ToString());
}
}
return dict;
}
Dim List As SortedList(Of String, String) = VDB.CoreLib.DbUtils.GetCountries(connDB)
ddlBankCountry.DataSource = List
ddlBankCountry.DataTextField = "Key"
ddlBankCountry.DataValueField = "Value"
ddlBankCountry.DataBind()
相关问题
- 1. 排序排序列表基于值C#
- 2. 排序C#列表
- 3. 排序下拉列表按值排列
- 4. 如何排序列
- 5. 排序列表值
- 6. 如何按顺序排序和排序顺序排列相同的列
- 7. C++按升序排列的非零值
- 8. 排序排列顺序
- 9. 如何排序jqgrid中的数值列
- 10. PHP:排序排列
- 11. 如何双向排序python列表,按降序排列数字,按升序排列字母排序?
- 12. TListView列排序(按前两列排序)
- 13. 如何按多列排序但不按价值排序?
- 14. 如何按日期排序,但按某个列值排序SQL
- 15. 排序CSV列的值
- 16. sqlite的排序SUM列值
- 17. 排序列的
- 18. 基于排序列和另一列值重新排序表
- 19. 如何对DataTable列值进行排序?
- 20. 如何排序multiD阵列SUBE价值
- 21. PHP排序值和相等的值的阵列,排序键
- 22. 的Javascript排序()排列
- 23. C#按2列排序表
- 24. 排序IHierarchicalEnumerable列表c#
- 25. 链接列表排序C
- 26. 在C#中排序列表#
- 27. 在c中排序列表#
- 28. C#清单列表 - 排序
- 29. C#列表视图排序
- 30. C++排序阵列功能
不能同一个元素添加到列表中的两倍。抛出异常 – 2014-10-23 18:09:16
@BradPatton是的,你是对的... – spender 2014-10-23 19:39:20