public void RemoveAll() { JArray a = new JArray( 5, new JArray(1), new JArray(1, 2), new JArray(1, 2, 3) ); JToken first = a.First; Assert.AreEqual(5, (int)first); a.RemoveAll(); Assert.AreEqual(0, a.Count()); Assert.IsNull(first.Parent); Assert.IsNull(first.Next); }
/// <summary> /// Merge zweier Arrays /// </summary> /// <param name="iTarget"></param> /// <param name="iTemplate"></param> private void MergeTemplate(JArray iTarget, JArray iTemplate) { JsonMergeSettings lMergeSettings = new JsonMergeSettings(); lMergeSettings.MergeArrayHandling = MergeArrayHandling.Union; if (iTemplate.First.Type == JTokenType.Array) { for (int i = 0; i < iTemplate.Count && i < iTarget.Count; i++) { //(iTarget[i] as JArray).Merge(iTemplate[i], lMergeSettings); //iTemplate[i].Remove(); (iTemplate[i] as JArray).Merge(iTarget[i], lMergeSettings); iTarget[i].Remove(); } } //iTarget.Merge(iTemplate, lMergeSettings); iTemplate.Merge(iTarget, lMergeSettings); iTarget.RemoveAll(); iTarget.Add(iTemplate.Children()); }