In LINQ gibt es zwar eine Sum-Methode, aber keine für Xor. Dieses Snippet füllt die Lücke.
AnwendungsmöglichkeitenEine Mögliche Anwendung ist die Ermittlung des Hashcodes eines Arrays:
array.Select(x=>x.GetHashCode()).Xor()
Dieser unterscheidet sich nicht, wenn die Elemente nicht unterschiedlich sind. Siehe auch: Testanwendung
Benötigte NamespacesSystem
System.Collections.Generic
System.Linq (für weitere LINQ-Methoden)
Testanwendungint[] a1 = { 1, 2, 3, 4 };
int[] a2 = { 1, 2, 3, 4 };
Console.WriteLine("HashCodes:");
Console.WriteLine(a1.GetHashCode());
Console.WriteLine(a2.GetHashCode());
Console.WriteLine("Xor:");
Console.WriteLine(a1.Xor());
Console.WriteLine(a2.Xor());
Console.ReadKey();