Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按列名对DataView行进行排序_C#_Json.net - Fatal编程技术网

C# 按列名对DataView行进行排序

C# 按列名对DataView行进行排序,c#,json.net,C#,Json.net,我有一个JArray,其结构如下: JArray array = [ { "Name": "Mike" }, { "Age": 24 } ]; 我正在创建一个DataView,其中每个JObject键都作为列名。我想按列名(水平)对行进行排序。在上一个示例中,列的顺序是在名称之前加上年龄。有没有任何方法可以通过DataView实现来做到这一点?我也愿意预先在JArray上实现排序,但我很努力,因为键是排序值,它们事先不知道。

我有一个JArray,其结构如下:

JArray array = 
[
  { "Name": "Mike" },
  { "Age": 24 }
];

我正在创建一个DataView,其中每个JObject键都作为列名。我想按列名(水平)对行进行排序。在上一个示例中,列的顺序是在名称之前加上年龄。有没有任何方法可以通过DataView实现来做到这一点?我也愿意预先在JArray上实现排序,但我很努力,因为键是排序值,它们事先不知道。

这有点尴尬,因为您的JArray不是一个类似类型的数组。您需要取消选中各个元素,并对结构进行一些假设—例如,每个元素都是一个
JProperty

试着这样做:

        var jArray = new JArray(
            new[] { 
                          new JObject(new JProperty("Name", "Mike")),
                          new JObject(new JProperty("Age", 24))
                  });

        var sortedJArray = new JArray(jArray.OrderBy(j => ((JObject)j).Properties().First().Name));
这能满足你的需要吗