CatZ Medlem sedan jan. 2002 2 440 inlägg Frågan 18 juni 2008 15:41 #1 Jag har två listor som består av bools och vill enkelt kunna jämföra innehållet i listorna med varandra för att se om någonting har ändrats och baserat på resultat sant/falskt utföra åtgärd.
Hur gör jag smidigast för att åstadkomma detta?
CatZ Medlem sedan jan. 2002 2 440 inlägg Någon som har några synpunkter på
public static bool Equals<T>(List<T> list1, List<T> list2)
{
bool isEqual = list1.Count == list2.Count;
if (isEqual)
{
for (int i = 0, nCount = list1.Count; nCount > i; i++)
{
if (!list1[i].Equals(list2[i]))
{
isEqual = false;
break;
}
}
}
return isEqual;
}
P P Medlem sedan jan. 2001 2 204 inlägg Kanske ger bättre prestandard då man slipper definera isEqual
public static bool Equals<T>(List<T> list1, List<T> list2)
{
if (list1.Count == list2.Count)
{
for (int i = 0, nCount = list1.Count; nCount > i; i++)
{
if (!list1[i].Equals(list2[i]))
{
return false;
}
}
return true;
}
return false;
}
CatZ Medlem sedan jan. 2002 2 440 inlägg Mycket riktigt, det gjorde faktiskt en del på prestandan, inte supermycket men all cpu tid man kan spara... :)