我是 C# 新手。我正在通过一个教程。并展示了如何为变量创建访问器变体,如下所示;
public String var1 {
get {return "";}
set {someVar = value;}
}
1.) 我不能像在 java 中创建的那样创建 getter 和 setter
public getVar() {return "";}
public setVar(String x){var=x;}
2.) value
C# 中使用了什么?
我是 C# 新手。我正在通过一个教程。并展示了如何为变量创建访问器变体,如下所示;
public String var1 {
get {return "";}
set {someVar = value;}
}
1.) 我不能像在 java 中创建的那样创建 getter 和 setter
public getVar() {return "";}
public setVar(String x){var=x;}
2.) value
C# 中使用了什么?
可以,但使用起来更烦人,并且忽略了 C# 编码准则。
value
是设置器的隐式参数。它包含调用者将属性设置为的值。(通话右侧Property = something
)
请参阅文档。
你当然可以。C# 中的属性就是为此而设计的语法糖。在引擎盖下,属性只不过是一个 get/set 方法。创建这两个方法更容易,它将这两个方法保存在源代码中的一个位置,它对调用者具有更简单的语法,并且除了获取/设置一个值之外什么都不做的属性仍然更容易生成。
这是一个关键字。它是传递给方法的值。如果有人进入obj.var1 = "abc";
,那么value
将是对 的引用"abc"
。
当然,你可以像 Java 那样做。但为什么?从调用者的角度来看,属性语法可以提供更好的体验。
value
是一个伪变量,您可以使用它来设置您的内部变量等。它等同x
于您的类似 Java 的示例。
是的,您可以像在 java 示例中一样创建 getter setter
int marks;
public void setMarks(int marks)
{
this.marks=marks;
}
public int getMarks()
{
return marks;
}