c# - 按名称对对象数组进行排序(多维)

标签 c# arrays list sorting object

如何按名称对对象数组进行排序。

数组构造数组的例子:

     object[] o = new object[items.Count+(row-exists)];
     int i = 0;
     for(i=0; i<items.Count;i++)
     {
    XmlNode item = items[i];

    o[i] = new object[5];
    ((object[])o[i])[0] = Safe(item, "ows_Title");
    ((object[])o[i])[1] = Safe(item, "ows_Column5");
    ((object[])o[i])[2] = ((string)Safe(item, "ows_Column7")).Trim(new char[] {'\''});
    ((object[])o[i])[3] = Convert.ToDouble(Safe(item, "ows_Column12"), provider);
    ((object[])o[i])[4] = Convert.ToDouble(Safe(item, "ows_Column9"), provider);
}

我希望根据 ((object[])o[i])[0] 的值对“o”进行排序。

谢谢

最佳答案

我想我明白了。下面的 linq 应该可以满足您的要求。

var sortedResult = o.OrderBy(x => ((object[])x)[0]).ToArray();

但是,我会考虑使用不同的数据结构。你能创建一个新类型来封装第二个数组代表的内容吗?例如:

class MyObject
{
  Safe Title {get; set;}
  Safe Column5 {get; set;}
  String Column7 {get; set;}
  double Column9 {get; set;}
  double Column12 {get; set;}
}

然后您可以使用 SortedList存储新对象。

关于c# - 按名称对对象数组进行排序(多维),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6151388/

相关文章:

c# - Index was outside the bounds of the array 异常

c# - 以编程方式创建新主文件夹并设置权限

javascript - 如何通过ajax传递文件数组数据以及如何接收php文件中的数据?

javascript - 计算长字符串中每个句子的单词,jquery

javascript - 如何获取json对象标题

c# - EF 6 将 Where 子句添加到包含导航属性

php smarty if else 循环不起作用

list - 存储多重集/无序列表的节省空间的方法

list - 在 Haskell 中加入列表

c# - 如何将对象转换为 Type?