Ich habe einen IList, die List ist mit eine klasse (int,int,int) befühlt
Wie kann ich überprüfen, ob in der List die ersten zwei int gleich sind??
hast du jetzt die list mit zahlen gefüllt oder eigenen objekten?
um was für eine klasse handelt es sich da?
Es ist eine eigene Klasse die mit Zahlen befühlt ist.
So seht es aus
1,2,3
1,2,5
1,2,9
5,6,0
5,6,9
5,6,7
1,3,5
2,9,6
Ich nehme an, du meinst so etwas in der Art:
public struct DreiInts
{
public int a, b, c;
public DreiInts( int a, int b, int c)
{
this.a = a; this.b = b; this.c = c;
}
}
List< DreiInts > meineListe = new List< DreiInts >();
Jetzt weiß ich nicht genau, was du mit überprüfen meinst.
// alle heraussuchen, bei denen die ersten beiden ints gleich sind
List< DreiInts >< zweiGleich = meineListe.FindAll( delegate bool( DreiInts value ) { return (value.a == value.b ); } );
// nur Indize heraussuchen
List<int> Indize = new List<int>();
for( int i = 0; i < meineListe.Count; i++ )
{
if (meineListe[i].a == meineListe[i].b)
{
Indize.Add( i );
}
}
ich suche alle c wo a=a and b=b, spricht ich muss merken das a und b schon einmal vorgekommen ist und dann nur c speichern.
Das ganze habe ich versucht eben mit IDictionary und einem operator zu lösen klappt aber leider nicht so wie ich es mir vorstelle.
IDictionary<DreiInts, IList<Int32>> test = new Dictionary< DreiInts, IList<Int32>>();
Nochmal zum mitdenken:
Du willst fuer die Kombination aus Zahl1 und Zahl2 immer nur eine Zahl3 speichern?
Dann waere es wohl eher eine Zuordnung im Sinne von Dictionary<ZweiZahlen, int>, oder?
Falls ich dich oben richtig verstanden hab (und falls bei dir diese Objekte fachlich immer gleich sind, wenn die zwei Zahlen gleich sind), dann koenntest du ggf. ueber .Equals() etc. dafuer sorgen, dass du diese ZweiZahlen Klasse auch als brauchbaren Dictionary Key nehmen kannst..
Pound for pound, plutonium is about as toxic as caffeine when eaten.
Tut mir Leid für die ungenaue Problembeschreibung.
Original von DarKlajid
Nochmal zum mitdenken:
- Du willst fuer die Kombination aus Zahl1 und Zahl2 immer nur eine Zahl3 speichern?
Dann waere es wohl eher eine Zuordnung im Sinne von Dictionary<ZweiZahlen, int>, oder?
Ja vorausgesetzt ich kann den int wert in einem „vector“ speichern
Wie ich das ganze in c++ lösen sollte weis ich,
vielleicht hilft die c++ Lösung um das Problem besser zu verstehen.
Ich werde eine std::map nehmen die als Schlüssel eine Struktur (mit entsprechenden Vergleichsprädikat) mit zwei int- Werten und den dritten int Wert in einem vector packen.
Gruß