Also ich glaube nicht, dass es einen effizienteren Algorithmus als den von dir schon geposteten gibt: (oder sogar geben kann)
|
C# Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
|
for(int i = 0; i < list1.count; i++)
{
if(list1[i] == list2[i])
{
MessageBox.Show("gleich");
}
else
{
MessageBox.Show("ungleich");
}
}
|
Um den Inhalt zweier Listen auf Gleichheit zu prüfen muss ich ja zumindest jedes Element jeder liste einmal mit irgendetwas (spielt hier erstmal keine Rolle mit was) vergleichen, sonst kann man darüber ja keinerlei Aussage treffen. Und deine Methode hat eben genau diese minimale Anzahl an Vergleichen schon erreicht. Ich sehe da kein Einsparpotential.
Auch solche transitiven Zusammenhänge sparen dabei keine Vergleiche, erhöhen die Zahl derer eher noch.