C#-Tipp:Join oder Concat, um zwei Arrays mit LINQ zusammenzuführen

C#-Tipp:Join oder Concat, um zwei Arrays mit LINQ zusammenzuführen

Hallo Freunde, in C# oder jeder Programmiersprache stoßen wir auf viele Szenarien, in denen wir zwei Arrays oder Listen verketten oder zusammenführen möchten. Dies kann einfach mit LINQ in C# erreicht werden.

Zwei Arrays mit Concat und Union zusammenführen

LINQ bietet uns zwei Methoden zum Zusammenführen von zwei Arrays oder Listen in C# und VB.NET

Dies sind Union und Concat. Union entfernt das Duplikat und behält die eindeutigen Elemente im resultierenden Array bei, während concat die beiden Arrays ohne Entfernungen zusammenführt.

Nachfolgend finden Sie die Codebeispiele für die beiden in C#:

 int[] firstArray = {1,2,3};
            int[] secondArray = {3,4,5,6};

            var output = firstArray.Union(secondArray);
            var concat = firstArray.Concat(secondArray);


            Console.WriteLine("Union Items");
            output.ToList().ForEach(item => Console.WriteLine(item)); // Output: 1,2,3,4,5,6

            Console.WriteLine("Concatenated Items");
            concat.ToList().ForEach(item => Console.WriteLine(item)); //Output: 1,2,3,3,4,5,6

Union bestimmt die Eindeutigkeit des Elements, indem die Elemente mit ihrem Gleichheitsvergleich verglichen werden.

Nehmen wir ein Beispiel der Klasse, die unten als Person definiert ist.

    public class  Person{

        public string FirstName { get; set; }
        public string LastName { get; set; }

        public override Boolean Equals(object obj){
            Person arg = obj as Person;
            if(arg != null){
                return arg.FirstName.Equals(this.FirstName);
            }
            return  false;
        }

        public override int GetHashCode(){
            return this.FirstName.GetHashCode();
        }

        public override string ToString(){
            return this.FirstName + " " + this.LastName;
        }
    }

Im obigen Code wird die Gleichheit der Personenklasse durch die FirstName-Eigenschaft bestimmt. Wenn die Vornamen zweier Personen gleich sind, werden sie gemäß diesem Code als gleich angesehen.

            Person[] personArray = {new Person() { FirstName = "Vikram", LastName = "Chaudhary" },
             new Person() { FirstName = "Manoj", LastName = "Sharma" }};

           Person[] personSecondArray = {new Person() { FirstName = "Vikram", LastName = "Sharma" },
             new Person() { FirstName = "Manoj", LastName = "Patil" },
             new Person() { FirstName = "Divya", LastName = "Patel" }};

            var output1 = personArray.Union(personSecondArray);
            var concat1 = personArray.Concat(personSecondArray);

            Console.WriteLine("Union Items");
            output1.ToList().ForEach(item => Console.WriteLine(item)); 

            Console.WriteLine("\n Concatenated Items");
            concat1.ToList().ForEach(item => Console.WriteLine(item)); 

Sehen wir uns nun die Ausgabe des obigen Codes an.

Schlussfolgerung:

Dies ist ein einfaches Beispiel für die Verwendung von join oder concat zum Zusammenführen mit Arrays oder List zum Abrufen eines einzelnen Arrays mit Ergebnis in C#


No