【问题标题】:Sorting Generic List in C#在 C# 中对通用列表进行排序
【发布时间】:2014-10-30 15:43:01
【问题描述】:

我有一个通用列表,如下所示。

List<UsrProfile> lst = GetUsers();
lst.Sort();
ddlUser1.DataSource = lst;
ddlUser1.DataBind();

现在下拉菜单既有值又有文本。现在我使用通用列表按文本排序。

请帮忙。 我不能使用 LinQ

【问题讨论】:

  • 你不能使用 Linq 是因为你不知道怎么做,还是因为这是一个家庭作业?
  • Sort list in C# with LINQ的可能重复
  • @Adrian 我猜“我不能使用 LinQ”意味着由于某些限制不允许他们使用。所以那个链接对他们不起作用。
  • 同意。我错过了“我无法使用 LinQ”。

标签: c#-3.0 asp.net-3.5


【解决方案1】:

如果我正确理解了这个问题(我可能不会……不是很清楚),您希望按 UsrProfile 类的特定成员对列表进行排序。具体来说,Text 属性。

这很容易做到:lst.Sort((u1, u2) =&gt; u1.Text.CompareTo(u2.Text)); 应该做你想做的事。

这会将Comparison&lt;UsrProfile&gt; 委托实例传递给List&lt;UsrProfile&gt;.Sort() 方法,允许它自定义用于排序的比较逻辑。在这种情况下,不是比较整个 UsrProfile 对象,而是比较对象之间的 Text 属性。

【讨论】:

    最近更新 更多