में कंसैट/यूनियन टेबल्स यह वर्तमान प्रोजेक्ट एक बड़ी परियोजना के लिए अवधारणा का सबूत है। मेरे पास दो "टेबल" हैं (नीचे दी गई सूचियों के रूप में प्रतिनिधित्व), CatList
और DogList
, जिनमें समान स्तंभ संरचना है। मैं Concat
या Union
दोनों में सक्षम होना चाहता हूं और परिणामस्वरूप सेट पर LINQ
का उपयोग कर क्वेरी करना चाहता हूं। मुझे बताया गया कि interfaces
को लागू करके मैं इन परिणामों को प्राप्त करने में सक्षम हूं।LINQ
यहाँ मैं अब तक है:
static void Main(string[] args)
{
System.Console.Write("Hello World\n");
Dog Dog1 = new Dog { name = "A", age = 1 };
Dog Dog2 = new Dog { name = "B", age = 2 };
Cat Cat1 = new Cat { name = "C", age = 3 };
Cat Cat2 = new Cat { name = "D", age = 4 };
List<Dog> DogList = new List<Dog>();
List<Cat> CatList = new List<Cat>();
DogList.Add(Dog1);
DogList.Add(Dog2);
CatList.Add(Cat1);
CatList.Add(Cat2);
var result = DogList
.Concat(CatList);
}
}
public interface iAnimal
{
string name { get; set; }
int age { get; set; }
}
public class Dog :iAnimal
{
public string name { get; set; }
public int age { get; set; }
}
public class Cat:iAnimal
{
public string name { get; set; }
public int age { get; set; }
}
मैं System.Console.Write(Dog1.name);
की तरह कुछ का उपयोग कर मेरी बनाई गई वस्तुओं में से किसी का डेटा के किसी सदस्य का उपयोग कर सकते हैं, इसलिए मुझे लगता है कि इंटरफेस की मेरी कार्यान्वयन सही है। प्रभावी ढंग से Concat/संघ मेरी सूचियों के लिए मेरे LINQ कथन में क्या बदलने की जरूरत है।
मैं C#
और सामान्य रूप से ऑब्जेक्ट उन्मुख प्रोग्रामिंग के लिए नया हूं, इसलिए कृपया अपने ज्ञान स्तर के अनुरूप अपने उत्तरों को पूरा करें।
धन्यवाद
संपादित मैं माफी माँगता हूँ, जैसा कि मैंने क्या मैं अपने वर्तमान कोड में मिल त्रुटि संदेश शामिल करने के लिए भूल गए हैं।
Error 1 'System.Collections.Generic.List<InterfaceTest.Dog>' does not contain a definition for 'Concat' and the best extension method overload 'System.Linq.ParallelEnumerable.Concat<TSource>(System.Linq.ParallelQuery<TSource>, System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments
Error 2 Instance argument: cannot convert from 'System.Collections.Generic.List<InterfaceTest.Dog>' to 'System.Linq.ParallelQuery<InterfaceTest.Cat>'
क्षमा करें, त्रुटियों को शामिल करना भूल गए। सवाल तय किया गया है। – Jeff