Warum war die Aussage (j++); verboten?

Dem folgenden code falsch ist (sehe es auf ideone):

public class Test
{
    public static void Main()
    {
        int j = 5;
        (j++);      //if we remove the "(" and ")" then this compiles fine.
    }
}

Fehler CS0201: Nur Zuordnung, call -, increment -, decrement, erwarten, und
neue Objekt-Ausdrücke können verwendet werden als eine Aussage

  1. Warum funktioniert der code kompiliert werden, wenn wir entfernen Sie die Klammern?
  2. Warum es nicht kompiliert, mit den Klammern?
  3. Warum wurde C# entwickelt werden?
  • viele Leute, die mit C# design-Sprache sind SO, so das ist, warum ich fragte. Nichts falsch mit diesem?
  • Der compiler erwartet eine Erklärung hier, aber diese Klammern einen Wert.
  • Ich kann mir nicht vorstellen, eine mehr on-topic-Frage als "warum ist eine spezifische Programmiersprache, die Behandlung dieser spezifischen Verhalten in dieser Weise?"
  • fühlt sich an wie es würde fallen unter eine Konstruktive subjektive Frage, stackoverflow.com/help/dont-ask
  • In Anbetracht der Antwort bereits angezogen 4 Antworten, die sich nicht an diese Punkte, klar ist es nicht. Es ist auch nicht eine spezifisch praktische Programm problem.
  • von der Frage, jemand könnte vernünftigerweise Pontifikat auf den Zweck dahinter, warum es nicht gültig ist ("Tiefe Einblicke geschätzt"). Es gibt einige sehr Auskunftsfreudig C# Experten, wer könnte Sie verstehen die Konsequenzen der Entscheidung, obwohl Sie nicht der Schöpfer der Sprache. Die Tatsache, dass die Antworten nicht bereits geschehen ist, ist vielleicht eine Reflexion von der Klarheit der Frage, aber nicht die Absicht - für was es Wert ist, das war meine Lektüre, aber ich habe nicht das know-how zu beantworten.
  • Jetzt haben wir eine Antwort von Eric Lippert. Vielleicht möchten Sie zu überdenken Ihre Entscheidung über die akzeptierte Antwort. Es ist Weihnachten, also vielleicht haben Sie akzeptiert die Antwort zu früh.
  • Willst du damit sagen, dass design-Entscheidungen sind nie dokumentiert, und sind absolut unbekannt, auf alle anderen zu? Er ist nicht zu Fragen, SO dass Benutzer nicht zu erraten ist, bittet er um eine Antwort - das bedeutet nicht, dass er bittet um eine Vermutung. Ob die Menschen beantworten, die mit einer Vermutung auf Sie, nicht ihn. Und als OP darauf hingewiesen, es gibt Menschen auf stack overflow, die tatsächlich arbeiten an C# - und diese Entscheidungen getroffen.
  • Er ist nicht impliziert, dass design-Entscheidungen sind nie dokumentiert. Er ist auch nicht impliziert, dass die Frage nicht interessant. Er sagt, dass die Frage wahrscheinlich Bedürfnisse eine Antwort von den Autoren selbst, und damit ist nicht geeignet für SO, wie es führt zu wilden Spekulationen, wie hier gezeigt. Eric Lippert wird heute als MAßGEBEND, da könnte jemand Fragen, der speichert diese Frage.
  • Gut, ich bin nicht einverstanden; ich nicht glaube, dass eine Antwort kommen müssen von den Autoren selbst, obwohl Sie natürlich Ihre Antwort wäre das bestmögliche Ergebnis. Viele Fragen führen können, zu wilden Spekulationen, aber das ist ein problem der Beantworter, nicht der Fragesteller. Es gibt viele Menschen, die nach Vermutungen als Antworten; das macht die Antwort schlecht, keine Frage.
  • Das problem ist, dass, ja, es sei denn, die Begründung ist schon irgendwo dokumentiert, muss es aber Spekulation ist Spaß und wer möchte nicht seinen eigenen? Wenn Sie einen Weg finden, um sicherzustellen, dass diese Reine (oder "erzogen") Vermutungen sind zuverlässig gekeult, Sag es mir und wir werden ein Vermögen machen.
  • Ich bin mehr daran interessiert zu wissen, wenn Sie tun können, dass in alle Sprache und warum würden Sie wollen? Es ist scheußlich und macht sehr wenig Sinn.

InformationsquelleAutor user10607 | 2015-12-22
Schreibe einen Kommentar