में संघ बनाम कंसट मेरे पास Union
और Concat
पर एक प्रश्न है। मुझे लगता है कि List<T>
के मामले में दोनों ही व्यवहार कर रहे हैं।लिंक
var a1 = (new[] { 1, 2 }).Union(new[] { 1, 2 }); // O/P : 1 2
var a2 = (new[] { 1, 2 }).Concat(new[] { 1, 2 }); // O/P : 1 2 1 2
var a3 = (new[] { "1", "2" }).Union(new[] { "1", "2" }); // O/P : "1" "2"
var a4 = (new[] { "1", "2" }).Concat(new[] { "1", "2" }); // O/P : "1" "2" "1" "2"
ऊपर परिणाम उम्मीद कर रहे हैं,
लेकिन List<T>
के मामले में मैं एक ही परिणाम हो रही है।
class X
{
public int ID { get; set; }
}
class X1 : X
{
public int ID1 { get; set; }
}
class X2 : X
{
public int ID2 { get; set; }
}
var lstX1 = new List<X1> { new X1 { ID = 10, ID1 = 10 }, new X1 { ID = 10, ID1 = 10 } };
var lstX2 = new List<X2> { new X2 { ID = 10, ID2 = 10 }, new X2 { ID = 10, ID2 = 10 } };
var a5 = lstX1.Cast<X>().Union(lstX2.Cast<X>()); // O/P : a5.Count() = 4
var a6 = lstX1.Cast<X>().Concat(lstX2.Cast<X>()); // O/P : a6.Count() = 4
लेकिन दोनों List<T>
की बैठाना ही व्यवहार कर रहे हैं।
कोई सुझाव कृपया?
आप इन दो विधियों के बीच अंतर पता है, यही कारण है कि परिणाम आश्चर्य आप करता है? यह विधियों की कार्यक्षमता का सीधा परिणाम है। –
@ कोनराड रुडॉल्फ, मेरा मतलब है सूची की सूची है मैं किसी भी 'संघ'/'कंसट' का उपयोग कर सकता हूं। क्योंकि दोनों एक ही व्यवहार कर रहे हैं। –
नहीं, जाहिर है नहीं।वे वही व्यवहार नहीं करते हैं, जैसा कि आपका पहला उदाहरण दिखाता है। –