Was haltet ihr denn von folgender Lösung, ich geh mal davon aus das die Matrikelnummer eindeutig ist.
var student = MyArrayList.ToList().Where(s => s.Matrikelnummer.Equals(matrikelnummer,StringComparison.InvariantCulturIgnoreCase).FirstOrDefault();
//wenn also einer gefunden wurde
if(student != null)
MyArrayList.Remove(student);
Ja, der Operator ^ funktioniert nur für einfache Datentypen (nicht für Arrays).
Aber kannst ja selber daraus eine Funktion basteln, falls du diese Operation öfter benötigst:
byte[] Xor(byte[] a, byte[] b)
{
int nLen = Math.Min(a.Length, b.Length) // kleinere Länge ermitteln
byte[] c = new byte[nLen];
for (int i = 0; i < nLen; i++)
c[i] = a[i] ^ b[i];
return c;
}
Alternativ bei unterschiedlicher Länge beider Arrays dann mit Nullen auffüllen...
P.S: Für die Klasse BitArray gibt es die Xor-Methode
(ich nehme jedoch an, daß du den Xor-Operator für die Verschlüsselung benutzt, oder?)
Diesel schrieb:
Kann ich von einer Klasse, die in einer anderen Klasse deklariert und implementiert ist auf die Felder/Funktionen der "Parent" Klasse zugreifen?
Nur in dem man ihr eine entsprechende Referenz auf den "Parent" mitgibt.
Auch mit Timeout etc. und mit true als rückgabe kein gültiger fensterhandel.. ich hab mir überlegt die WinApi Variante CreateProcess zu verwenden, was meint ihr? Oder sonst welche tipps?
dcssssss schrieb:
Na ja, gut. Aber das Exception-Zeugs brauche ich dann noch immer. Und das ist sehr nervig, wenn man so viele Funktionen hat, die auch dieses Zeugs brauchen...
Dafür hat der liebe MSDN die Dokumentation erfunden...
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(TopLevelErrorHandler);
Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
Zentraler gehts nimmer.
Siehe auch: Anti Pattern "Expection handling" als Beispiel dafür wie man es nicht machen sollte.
(Expection Handling anstelle von Exception handling, das ist kein Tippfehler)
leider ist die betreffende stelle im code nicht angesprungen worden, das war ja das problem.
na egal, ich hab ein neues projekt erstellt und den alten code teilweise kopiert, jetzt gehts wieder.
Nach dem "InitializeComponents" durchgelaufen ist, sind alle Componenten verfügbar und nutzbar, also alles was nach diesem Funktionsaufruf kommt, greift auf valide Components zu.
angenommen, alle haben dieselbe methode zugewiesen, erkenne ich dann anhand des
object sender parameters, welcher comport sich gemeldet hat?
ganz genau so ist es.
Firefighter schrieb:
-com-:Blödsinn. Die Komponenten werden IMMER mit "new" hinzugefügt. Mit dem Designer und dem "draufziehen" wird das nur in einer Code-Behind(desinger.cs) mit new erzeugt.
ok, designer.cs kannte ich noch nicht, wieder dazugelernt, coole sache das!
Rhombicosidodecahedron schrieb:
so?
Weiss nicht. Schön wäre es, wenn man der Klasse Serial.Port irgendwie ne Struktur übergegen könnte und diese Struktur dann mit serialPort1.Read(&my_struct) füllen könnte.
Naja, für heute mache ich jetzt aber mal Feierabend!