2017-03-03 3 views
-1

Ich weiß nicht, den Unterschied zwischen diesen beiden Codezeilen:Was ist der Unterschied zwischen zwei Methoden? (Ich denke, es ist einfach, aber ich weiß nicht)

public int method1 { get {return 1;} } 
public int method2 {return 1} 

Was ist der Unterschied zwischen method1 und method2? Ich denke, das Ergebnis wäre das gleiche, aber welchen Grund würde ich den zweiten verwenden (method2)?

+2

Zunächst ist eine Eigenschaft, kein Verfahren (es ist Methode intern) . Der zweite gibt einen Fehler - Sie sollten '()' hinzufügen. –

+1

Die zweite Zeile kompiliert nicht einmal. Bitte posten Sie in Zukunft einen [mcve], um uns das Rätselraten zu ersparen, was Ihre Frage gewesen sein könnte, wenn sie tatsächlich kompiliert wurde. – nvoigt

Antwort

3

Die erste ist keine Methode, es ist eine schreibgeschützte Eigenschaft, die eine int zurückgibt. Die zweite ist eine Methode, die ein int zurückgibt, obwohl die Syntax nicht ganz korrekt ist:

public int method2() {return 1;} // <-- note parens and semicolon added. 

würde ich raten, Methoden und Eigenschaften in C# googeln.

6

Es scheint, Sie haben versucht, eine Eigenschaft zu erklären:

public int method1 { get {return 1;} } 

und Methode:

// please, notice required() 
public int method2() {return 1;} 
Verwandte Themen