コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: MergeTemplate.cs プロジェクト: ivan73/json
 /// <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());
 }