Suchergebnisse

Suchergebnisse 1-10 von insgesamt 10.

  • Benutzer-Avatarbild

    Willkommen im Forum. Das Problem dürfte eher sein, dass Du srv nur 1x per new instanziiert. Du musst es immer pro For-Schleifendurchgang machen, also die Zeilen#7 und #9 vertauschen. Sonst legst Du ein ServerInfo-Objekt an und überschreibst seine Daten bei jedem For-Schleifen-Durchgang. Und am Ende fügst Du der ServerList dasselbe Objekt immer und immer wieder hinzu, was man durch If ServerList(0) Is ServerList(1) Then Stop testen kann. Dreht man aber die beiden Zeilen um, erhält man x Objekte, …

  • Benutzer-Avatarbild

    (Der Code ist wohl übernommen und abgewandelt von stackoverflow) Einige Punkte sind nicht optimal (z.B. Fange nur Exceptions ab, die Du kennst und sinnvoll bearbeiten kannst. oder die Signatur des OnLineReceived-EventHandlers. Auch das Thread.Sleep(100) ist m.E. eher ne Ausbremsung als ne Entlastung.

  • Benutzer-Avatarbild

    Macht ja nix, dass Du andere Quellen verwendest. Mir ging's eher darum, dass allen Lesern klar ist, woher die Codeänderungen und -inspirationen von Post#1 auf P#16 kamen, damit man nicht allzu überrascht ist. Bzgl. Eventhandler-Signatur: Standardmäßig haben diese die Form (sender As Object, e As WhateverEventArgs). Dann kann man auch schreiben VB.NET-Quellcode (5 Zeilen) Normalerweise haut man aber noch ne von EventArgs abgeleitete Klasse dazu: VB.NET-Quellcode (8 Zeilen) Da kann man dann auch r…

  • Benutzer-Avatarbild

    Ob Du einen Vortrag in Deutsch oder Englisch hältst, bleibt Dir und Deinen Fähigkeiten überlassen. Grundsätzlich kannst Du alles genauso ausdrücken. Nur manche Sachen musst Du sprachlich bedingt anders formulieren. Aber vom sprachlichen Umfang kommt es (fast) auf's Gleiche raus.

  • Benutzer-Avatarbild

    Zielgenaues Behandeln der Exception ist hier mal wieder das Stichwort. Wenn Du den Teil mit einem sinnvollen Try-Catch-Block einhüllst, dann ist alles gut. Du hast: VB.NET-Quellcode (13 Zeilen) sinnvoller wäre da dann: VB.NET-Quellcode (15 Zeilen) (Ich hab den If-Teil mal entfernt, geht sicherlich auch ohne, siehe ClientData?.ReadLine mit Null-Conditional-Operator) In den Catch-Teilen kannst Du dann auch ne gezielte Nachricht loggen, von wegen: "Der Client hat die Verbindung beendet". Danach ist…

  • Benutzer-Avatarbild

    Ich glaub, dass ich die Frage falsch verstehe, denn ansonsten würde ich antworten: VB.NET-Quellcode (9 Zeilen)

  • Benutzer-Avatarbild

    Zitat von Igel: „Eine Variable aus Servers ist zb ID“Falsch, da Servers eine List(Of ServerInfo) ist und List(Of Irgendwas) von Haus aus keine ID kennt. Meinst Du ggf., dass jede ServerInfo eine ID hat? Dann eben per For-Loop durch die Liste durchgehen: VB.NET-Quellcode (12 Zeilen) Zitat von Igel: „Was natürlich alle meine Probleme lösen würde, wäre, wenn ich selbst Indizes für die Liste vergeben könnte, was natürlich nicht geht“Was hindert Dich daran? Muss Es eine List(Of ServerInfo) sein? Kann…

  • Benutzer-Avatarbild

    Zitat von Igel: „Ich weiß nicht, wie ich das vernünftig erklären soll“ist manchmal ein Zeichen dafür, dass man nicht weiß, was es am Ende werden soll. Zitat von Igel: „So soll die Funktion/Property aufgerufen werden“Von wo? Innerhalb von Cache oder außerhalb? Zitat von Igel: „und genau diesen Aufruf möchte ich umsetzen“Welchen? Data.Count oder Data.Servers.Count? Zitat von Igel: „Die Funktion/Property kann ich ja auch nicht in die Klasse Servers schreiben“Allein schon deshalb nicht, weil eine ei…

  • Benutzer-Avatarbild

    Ach jetze. Nun. Ich weiß zwar nicht, was das bringt, wenn Du innerhalb von Cache nicht mit einer Private Function GetIndexByServerID zu Deinem Ergebnis kommst (was ja eigentlich naheliegend und einfach wäre), sondern mit Servers.GetIndexByServerID, aber wenn Du es für notwendig erachtest ... Letztenendes müsstest Du den Typ List(Of) erweitern. Dafür kannst Du Extensions verwenden: VB.NET-Quellcode (26 Zeilen) Wenn das immer noch nicht das ist, was Du anstrebst, dann herrscht wohl ein grundsätzli…

  • Benutzer-Avatarbild

    Stichwort LINQ. Diese (Function(x) x.Foo = Bar) ist ein Filter. Alle Elemente, die diese Filterbedingung erfüllen, kommen für eine weitere Auswertung infrage, alle anderen werden ignoriert. Beispiel List.FirstOrDefault(Function(svi)svi.ID = TargetID) Heißt soviel wie: Gehe alle Elemente in der List durch und gib das erste Element, welches die ID hat, die gleich TargetID ist. Wenn Du nix passendes findest, dann gib Nothing zurück. Beispiel List.First(Function(svi)svi.ID = TargetID) Heißt soviel w…