myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grundlagen von C# » Variablen-Zuweisungsfehler nicht nachvollziehbar
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Variablen-Zuweisungsfehler nicht nachvollziehbar

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 196
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn


CoderboyPB ist offline

Variablen-Zuweisungsfehler nicht nachvollziehbar

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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.

CoderboyPB hat dieses Bild (verkleinerte Version) angehängt:
vs_sux.jpg
Volle Bildgröße

23.08.2019 01:43 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
123thomas
myCSharp.de-Mitglied

Dabei seit: 21.12.2012
Beiträge: 109
Entwicklungsumgebung: Visual Studio 2017 Community


123thomas ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,

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

C#-Code:
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
23.08.2019 06:48 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.057
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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 ...
23.08.2019 12:18 Beiträge des Benutzers | zu Buddylist hinzufügen
CoderboyPB CoderboyPB ist männlich
myCSharp.de-Mitglied

Dabei seit: 09.01.2008
Beiträge: 196
Entwicklungsumgebung: Visualstudio 2019
Herkunft: Paderborn

Themenstarter Thema begonnen von CoderboyPB

CoderboyPB ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

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. ;)
23.08.2019 12:40 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 13.057
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Zitat von CoderboyPB:
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.

Zitat von CoderboyPB:
Deshalb ja auch der Screenshot: Ihr solltet die Fehlermeldung selbst sehen, so unfassbar wie sie ist. Augenzwinkern

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

C#-Code:
        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. verwundert
23.08.2019 12:56 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als ein Monat.
Der letzte Beitrag ist älter als ein Monat.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 15.10.2019 20:44