Laden...

Variablen-Zuweisungsfehler nicht nachvollziehbar

Erstellt von CoderboyPB vor 4 Jahren Letzter Beitrag vor 4 Jahren 1.016 Views
C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor 4 Jahren
Variablen-Zuweisungsfehler nicht nachvollziehbar

hier seht ihr einen Screenshot mit Fehlermeldung

oben im Code seht ihr die Zuweisungen an die String Variablen a und b.

So, und nun meine Frage: Was ist an b besser, als an a?
Sorry, aber für mich ist das nen paar Stufen zu blöd:

Warum ist b zugewiesen, und a nicht?

PS: Der Code ist ein Ausschnitt eines Lösungsversuchs einer Codewars Aufgabe, falls es jemanden interessiert. Aber der Rest ist hier nicht relevant.

1
124 Beiträge seit 2012
vor 4 Jahren

Hallo,

beide Variablen sind nicht zugewiesen, nur hört der Compiler nach der ersten Anweisung in der Zeile auf.

a = parts[0]; //Zuweisung der Variable a

Da man nicht ganz genau sehen kann, ob a jetzt ein Array ist oder eine normal String Variable tippe ich mal auf eine String Variable.

D.h. das sowohl a[0] und auch b[0] nicht zugewiesen sind, da dies ja keine Arrays sind.

P.S. bitte den Code nicht als Bild sonder in den Code Tags Posten

16.807 Beiträge seit 2008
vor 4 Jahren

Poste bitte in diesem Fall mal den ganzen Code (und verwende einen ordentlichen Forentitel in Zukunft. Danke.)
Originaltital: Entweder der Compiler spinnt, oder ich bin zu blöd ...

C
CoderboyPB Themenstarter:in
327 Beiträge seit 2008
vor 4 Jahren

Habe den Code nicht mehr, denn nachdem ich a als statische Klassenvariable definiert hatte (auf Empfehlung von VS) war der Fehler weg, allerdings stellte sich die Programmlogik dann als falsch heraus ...

Ja, a und b sind beides String Variablen, auf die ich per Indexer aufs erste Zeichen zugreife.

Das Kuriose ist und bleibt halt, dass a und b semantisch gleich sind, und doch so unterschiedlich agieren, nämlich bei a mit einem Fehler.

Deshalb ja auch der Screenshot: Ihr solltet die Fehlermeldung selbst sehen, so unfassbar wie sie ist. 😉

16.807 Beiträge seit 2008
vor 4 Jahren

Habe den Code nicht mehr, denn nachdem ich a als statische Klassenvariable definiert hatte (auf Empfehlung von VS) war der Fehler weg

Mir wäre neu, dass VS explizit das Setzen von statischen Variablen empfiehlt.
Du scheint vermutlich einen ganz anderen Fehler zu haben, der Folgefehler auslöst.

Deshalb ja auch der Screenshot: Ihr solltet die Fehlermeldung selbst sehen, so unfassbar wie sie ist. 😉

Das macht wenig Sinn, weil wir nicht den gesamten Kontext kennen und daher die Fehlermeldung entsprechend auch nicht bewerten können.

In einem Minimalbeispiel, das hierauf bezogen ist, tritt der Fehler nicht auf - auch nicht als statisches Feld.
[Tutorial] Vertrackte Fehler durch Vergleich von echtem Projekt mit minimalem Testprojekt finden

        static void Main(string[] args)
        {
            var parts = new[] {"a", "b", "c"};

            var a = parts[0];
            var b = parts[1];

            if (a[0] == '-' || b[0] == '-')
            {

            }
        }

Daher ist Deine Aussage hier leider nicht nachvollziehbar. Nicht mal der Fehler. 🤔