2017-04-21 5 views
0

Ich kann nicht herausfinden, was ich falsch mache für das Leben von mir. Ich benutze?: Während des gesamten Lebens meines Projekts, aber plötzlich wird mir immer wieder gesagt: "Nur Zuweisung, Aufruf, Inkrementieren, Dekrementieren und neue Objektausdrücke können verwendet werden", aber wenn ich das exakt gleiche Ding hineinkopiere und einfüge eine andere Datei .. Ich bekomme keinen Fehler so.C# Conditional Operator - Wie ist das falsch?

wahr? "1": "1"; sollte die grundlegendste Aussage sein, die funktioniert, richtig? Ich meine, es funktioniert schon woanders. Was könnte ich nicht verstehen?

Conditional Statement

+6

Der Compiler erstellt einen Fehler, weil dieser Ausdruck sinnlos ist, Sie tun nichts mit dem Wert, was macht es? ändere es in var sinnlosNummer = wahr? "1": "1" –

+11

Das ist ein Ausdruck, keine Aussage. – vcsjones

+1

müssen Sie den Wert einer Variablen zuweisen –

Antwort

4

Wenn Sie sagen, Sie Konditionaloperator anderswo & verwenden vielleicht funktioniert es gut Sie es in einer Weise anders als die Screen-Capture Sie freigegeben haben verwenden. Ich sage das, weil C# wird nicht zulassen, dass Sie es in der Art und Weise tun, die Sie erwähnt: das heißt

true ? "1" : "1"; 

Betrachten Sie es auf diese Weise: Conditional Operator ist im Wesentlichen eine if-else.

if (true) 
    "1"; //does not make sense, it appears to be string but the compiler needs to know what this is exactly 
else 
    "1"; //same comment as above 

Zusammengefasst Sie Dinge Variable die Zeichenfolge „1“ ein & dann gut funktionieren würde zuweisen müssen.

string str = true ? "1" : "1"; 
+0

Fantastisch. Das hilft genau zu verstehen, was ich nicht verstand. Vielen Dank, danke. –

+0

Was ich ursprünglich sage, sagt 'serverColumn.Contains (" primäre ")? product.PrimaryProductServer = server: product.SecondaryProductServer = Server' Ich weiß nicht, wie ich hier im Stackoverflow zu einer neuen Zeile wechseln soll ... Was die Bedingung angeht, kann ich es nicht so machen, wie ich es wollte . –

+1

Interessant. Aber in diesem Fall müssten Sie mit einem einfachen Wenn-sonst gehen – Ankit