【问题标题】:how do I sort an array in C#?如何在 C# 中对数组进行排序?
【发布时间】:2012-11-20 21:55:49
【问题描述】:

我有这段代码用于显示数组中的列表:

<table cellpadding="0" cellspacing="5" border="0" class="listTable">
@foreach(var row in list){
    <tr>
        <td>@row[0]</td>
        <td>@row[1]</td>
        <td>@row[2]</td>
        <td>@row[3]</td>
    </tr>
}
</table>

我想要的是在显示列表之前按索引 3 按升序对数组“列表”进行排序。

我现在已经搜索了几个小时,因为我确信之前已经解决了这个问题,但我什么也没找到。 可能是我在搜索时使用了错误的术语,如果是这样,请指出我正确的方向。

【问题讨论】:

标签: c# asp.net list indexing sorting


【解决方案1】:

只需使用Enumerable.OrderBy&lt;T&gt;()

<table cellpadding="0" cellspacing="5" border="0" class="listTable">
@foreach(var row in list.OrderBy(i=>i[3])){
    <tr>
        <td>@row[0]</td>
        <td>@row[1]</td>
        <td>@row[2]</td>
        <td>@row[3]</td>
    </tr>
}
</table>

【讨论】:

  • 是的,这非常有效。好吧,几乎 - 第三个索引是一个数字,所以它必须是这样的: foreach(var row in list.OrderBy(i=>Convert.ToInt64(i[3]))){ 否则它将使 100 在 2 之前等等。我应该说第三个索引是数字:P
猜你喜欢
  • 2011-04-23
  • 2013-12-24
  • 2013-08-05
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
  • 2021-11-07
  • 2019-11-27
  • 1970-01-01
相关资源
最近更新 更多