所以它说:
var string = "cancer cervical diane mortality cervical cancer cervical diane sea";
var regex = /(.+)\s\1/;
console.log(string.match(regex));
相当于......
public int HoursWorked { get; set; }
我有两个问题......
如何通过简单地调用“HoursWorked”来简单地执行“hWorked”操作?
我也不完全明白“价值”的价值是什么
感谢您的帮助!
答案 0 :(得分:7)
首先,一些术语:
HoursWorked
是属性。 hWorked
是字段。
第一个示例称为自动实现的属性。在这种情况下,编译器会生成一个对您不可见的私有支持字段。
value
是一个C#语言关键字。它是您设置属性时传入的值。您无法更改它,只能分配它。因此,如果您指定HoursWorked = 10;
,则value
等于10.
通常,如果您不需要在属性中添加任何其他逻辑(例如,验证允许的值),则应使用自动实现的属性。它更干净,更易于阅读,更易于维护。
答案 1 :(得分:1)
<强> MSDN 强>
属性结合了字段和方法的各个方面。给用户 一个对象,一个属性似乎是一个字段,访问该属性 需要相同的语法。对于类的实现者,属性是 一个或两个代码块,表示get访问器和/或集合 访问。 get访问器的代码块在执行时执行 阅读财产;设置访问器的代码块在执行时执行 该属性被赋予一个新值。没有一套的财产 访问者被认为是只读的。没有get访问者的属性是 被认为是只写的。具有两个访问器的属性是 读写。
private int hWorked; // the name field. It will be used internally to hold to value.
public int HoursWorked // the Name property. User will use with object of class.
{
get
{
return hWorked;
}
set
{
hWorked = value; // "value" is the actual value (here int) which is assigned by user while accessing this property from somewhere in other class or same class.
}
}
所以,HoursWorked
是一个属性。 hWorked
是一个字段。
<强> 1。如何做更简单的命令,简单地调用&#34; HoursWorked&#34;带来&#34; hWorked&#34;进去吗?
它被称为自动实现属性,编译器生成一个不可见的后备字段。
<强> 2。我也不完全明白&#34;价值&#34;的价值。意味着
&#34;值&#34;是用户分配/设置的实际值(此处为int)。例如:用户也会分配HoursWorked = 50;
,然后分配value = 50
。
检查msdn了解详情。