Saturday 15 August 2015

c# - How to select sections of differing lengths from list using LINQ only -


मेरे पास 'कॉम्प्लेक्स' नामक एक प्रकार की सूची है:

  सूची & lt; कॉम्प्लेक्स & gt; सूची = नई सूची & lt; परिसर & gt; (); ... कक्षा कॉम्प्लेक्स {सार्वजनिक स्ट्रिंग हैडर {get; सेट; } ... ... ...}   

सूची में कुछ दोहराए गए हेडर हैं, और ये नए अनुभागों की शुरुआत का संकेत देते हैं प्रत्येक अनुभाग एक अलग लंबाई का हो सकता है, जैसा कि नीचे दिखाया गया है:

  प्रारंभ करें 1 2 3 4 5 6 7 प्रारंभ 1 2 3 प्रारंभ 1 2 3 4 5 6 प्रारंभ 1 प्रारंभ 1 2   

मैं LINQ का इस्तेमाल करते हुए कॉम्प्लेक्स के सभी संभव प्रकारों को प्राप्त करना चाहूंगा; यही है, सभी ऑब्जेक्ट्स हेडर के रूप में निम्नानुसार हैं:

  • 1 2 3 4 5 6 7
  • 1 2 3
  • 1 2 3 4 5
  • 1 2

    मैं इसे कैसे केवल LINQ का उपयोग कर सकता हूं?

    संपादित करें: सूची बनाई गई है Html पृष्ठ पार्सिंग के दौरान

      & lt; tr & gt; & LT; टीडी & gt; 00: 00 & lt; - // - 00:00 - & gt; & lt; / टीडी & gt; & LT; टीडी & gt; 15: 00 & lt; - // - 00:00 - & gt; & lt; / टीडी & gt; & Lt; td class = "txt_left" & gt; & lt; a href = "" & gt; समाचार & lt; / a & gt; & lt; / td & gt; & Lt; td & gt; & lt; a href = "/ TsV2 / TV_Video_On.asp? PROG_CODE = TVCR0114" & gt; & Lt; img src = "/ images / new / sub_new / icon_play01_off.gif" alt = "play" class = "रोलओवर" /> gt; & lt; / a & gt; & lt; / td & gt; & Lt; / टीआर & gt; & LT; टीआर & gt; & LT; टीडी & gt; 00: 15 & lt; - // - 00:00 - & gt; & lt; / टीडी & gt; & LT; टीडी & gt; 15: 15 & lt; - // - 00:00 - & gt; & lt; / टीडी & gt; & Lt; td वर्ग = "txt_left" & gt; & Lt; a href = "Tv_Pagego.asp? PROG_CODE = TVCR0556" & gt; अच्छा एक & lt; / a & gt; & lt; / td & gt; & Lt; td & gt; & lt; a href = "/ TV2w / टीवी_2 वीडियो_ऑन। एस्प? PROG_CODE = TVCR0556" & gt; आईएमजी src = "/ छवियाँ / नया / उप-एनवाई / आइकन_ प्ले01_फ़.gif" alt = "प्ले" वर्ग = "रोलओवर" / & gt; & lt; / a & gt; & lt; / टीडी & gt; & Lt; / टीआर & gt;    

      स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {var seq = new वस्तु [] {"प्रारंभ", 1, 2, 3, 4, "प्रारंभ", 1, 2, 3, "प्रारंभ", 1, 2, "प्रारंभ", 1}; Var no = 0; Var test = (seq में से मैं नया चयन करें (SeqNo = (i.ToString () == "प्रारंभ"? नहीं ++: नहीं), आइटम = i})। (जहां x = & gt; x.Item.ToString ()! = "प्रारंभ")। समूहबी (y = & gt; y.SeqNo)। चयन (z = & gt; z.ToArray ())। ToArray (); }   

    या

      var test = (i से i समूह। I से i.ToString () == "शुरू"? ++ नहीं: नहीं जी चुनें जी में। जहां (जी = & gt; जी। टॉस्ट्रिंग ()! = "प्रारंभ") .ओएरे ()) .ओएरे ();   

    ToArray विवरण आवश्यक नहीं हैं

No comments:

Post a Comment