C# - Getters / Setters与其他语言不同

时间:2017-10-16 05:19:47

标签: c# asp.net

在Java中,Getters和setter的工作方式如下:

public string PersonName { get; set; }  

在C#中它可以以相同的方式工作,但事情是我看到人们正在使用这种语法

dat <- ts(data=runif(n=10, min=50, max=100), frequency = 4, start = c(1959, 2))

timetk::tk_tbl(dat)

    # A tibble: 10 x 2
           index    value
   <S3: yearqtr>    <dbl>
 1       1959 Q2 86.04519
 2       1959 Q3 93.78866
 3       1959 Q4 88.04912
 4       1960 Q1 94.30623
 5       1960 Q2 72.82405
 6       1960 Q3 58.31859
 7       1960 Q4 66.25477
 8       1961 Q1 75.46122
 9       1961 Q2 86.38526
10       1961 Q3 99.48685

希望有人能为我澄清一下,谢谢!

3 个答案:

答案 0 :(得分:3)

Java没有&#34;真实&#34;属性。 GetPersonName是一个方法,而不是&#34;属性&#34;。

如果成员表示该类型的逻辑属性,请考虑使用属性。 永远不要使用属性进行长时间运行!

您还应该阅读有关C#https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx

中的属性的文章

答案 1 :(得分:3)

public string PersonName { get; set; }

实际上相当于

private string personName;

public string PersonName
{
     get { return personName; }
     set { personName = value; }
}
在C#3.0中引入了

自动实现的属性,以使代码更具可读性/简洁性。

答案 2 :(得分:0)

这只是减少打字的简化方法。它被称为design overview section