我无法弄清楚如何连接我使用JArray.Parse的两个JArray?必须保留数组的顺序,即第一个数组应该是第一个,而元素应该在几秒之后.
Aar*_*ron 25
我使用了Merge方法,它修改了原始的JArray:
JArray test1 = JArray.Parse("[\"john\"]");
JArray test2 = JArray.Parse("[\"doe\"]");
test1.Merge(test2);
Run Code Online (Sandbox Code Playgroud)
Chr*_*ris 13
您可以JArray通过调用JArray.Add(element)元素来自第二个JArray的位置来向元素添加元素.你需要遍历第二个JArray来添加所有这些元素,但这将完成你想要的:
for(int i=0; i<jarrayTwo.Count; i++)
{
jarrayOne.Add(jarrayTwo[i]);
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,jarrayOne现在将包含所有第一个数组的元素,后跟第二个数组的元素.您可以查看JArray文档以获取更多详细信息.
小智 10
您还可以使用union方法:
JArray test1 = JArray.Parse("[\"john\"]");
JArray test2 = JArray.Parse("[\"doe\"]");
test1 = new JArray(test1.Union(test2));
Run Code Online (Sandbox Code Playgroud)
现在test1是
[
"john",
"doe"
]
Run Code Online (Sandbox Code Playgroud)
对于您有的一般情况,我的两分钱n JArray是:
IEnumerable<JArray> jarrays = ...
var concatenated = new JArray(jarrays.SelectMany(arr => arr));
Run Code Online (Sandbox Code Playgroud)
并将其投影到带有两个的原始问题上JArray:
JArray jarr0 = ...
JArray jarr1 = ...
var concatenated = new JArray(new[] { jarr0, jarr1 }.SelectMany(arr => arr));
Run Code Online (Sandbox Code Playgroud)