C# 按列名对DataView行进行排序
我有一个JArray,其结构如下:C# 按列名对DataView行进行排序,c#,json.net,C#,Json.net,我有一个JArray,其结构如下: JArray array = [ { "Name": "Mike" }, { "Age": 24 } ]; 我正在创建一个DataView,其中每个JObject键都作为列名。我想按列名(水平)对行进行排序。在上一个示例中,列的顺序是在名称之前加上年龄。有没有任何方法可以通过DataView实现来做到这一点?我也愿意预先在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));
这能满足你的需要吗