#9 BDS
Díky, ten FindIndex vypadá jako to co hledám.
Příspěvky odeslané z IP adresy 82.145.220.–
Vrtam se v C# tak dva týdny, takže se to teprve učím. Většinu se snažím vygooglovat, ale když si nevím rady, tak otravuji tady. Ohledně toho co se tady teď řeší mi přišlo, že většina řešení spočívala v použití interface, nebo linq dotazu.
Zkusím tedy lépe popsat o co mi jde. Jsou dva různé objekty (např. třídy), které spolu nemusí nijak souviset.
class class1
{
public string jmeno;
public int barva;
public long ID;
public double rychlost;
public string[] popis;
public int[] typ;
//...
}
public class class2
{
public string jmeno;
public uint pocet;
public double plocha;
public int barva;
public double rychlost;
public string[] popis;
public long ID;
public int[] typ;
//...
}
Já mam kolekce těchto tříd, jejichž volba typu je na mě (pole, List, nebo tak něco). Takže třeba
List<class1> clsL1;
List<class2> clsL2;
V každém listu je několik tisíc prvků a hledám shodu jedné, nebo více vlastností. Cyklem bych to udělal takto
foreach (class1 cls1 in clsL1)
{
foreach (class2 cls2 in clsL2)
{
if (cls1.jmeno == cls2.jmeno)
{
if (cls1.barva == cls2.barva)
{
if (cls1.ID == cls2.ID)
{
//...
}
}
}
}
}
A hledám jak se toto běžně řeší, nejlépe způsob kde se píše co nejméně kódu. V tomto případě by se mi hodilo vrátit ke každému indexu listu clsL1 shodny index v listu clsL2 nebo třeba -1 pokud tam shodný prvek není.