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