यह प्रश्न LINQ group one type of item जैसा है लेकिन एक अधिक सामान्य तरीके से संभाला जाता है।LINQ - समूह विशिष्ट प्रकार के वर्ग
मेरे पास एक सूची है जिसमें विभिन्न व्युत्पन्न कक्षाएं हैं। मैं इतना है कि प्राकृतिक व्यवस्था जो base.GroupThisType == सच है कुछ वर्गों के लिए छोड़कर बनाए रखा है LINQ अर्द्ध तरह करने के लिए सूची का उपयोग करने के कोशिश कर रहा हूँ
List<BaseClass> list = new List<BaseClass>() {
new Class1(1),
new Class2(1),
new Class1(2),
new Class3(1),
new Class2(2),
new Class4(1),
new Class3(2)
};
: मैं कुछ इस तरह हो सकता है। GroupThisType वाले सभी वर्गों को उस स्थान पर एक साथ समूहीकृत किया जाना चाहिए कि उसी प्रकार की पहली श्रेणी होती है।
List<BaseClass> list = new List<BaseClass>() {
new Class1(1),
new Class1(2),
new Class2(1),
new Class3(1),
new Class3(2)
new Class2(2),
new Class4(1),
};
संपादित करें:: यहाँ क्या उत्पादन किया जाना चाहिए की तरह है ओह, इस परिणाम यह सोचते है (Class1 और Class3) .GroupThisType == कहने के लिए भूल गया सच
+1 यहां तक कि अच्छे चुनौती – SLaks
@SLaks: हाँ, केवल एक चीज मैं सोच रहा था GroupThisType दोहराया जाएगा और सिद्धांत में एक ही कक्षा की घटनाओं के लिए अलग-अलग हो सकता है। मैं एक सूची समूह TheseTypes बनाउंगा, लेकिन मुझे समय से पहले के प्रकार (प्लगइन-प्रकार सिस्टम) नहीं पता है। एक स्थैतिक चर शायद सबसे अधिक समझ में आता है। यह आपका जवाब नहीं बदलता है। –
... सिवाय इसके कि अगर मैं इसे बेस क्लास में चाहता हूं तो मैं इसे स्थिर नहीं बना सकता, अन्यथा मेरे पास केवल उस चर का एक उदाहरण है। ओह ठीक है ... –