在下面的代码中,定义了一个结构。在定义中,有一些结构自己创建。它像镜子中的镜像一样来到我身边,或者将递归函数称为递归函数。因为你定义了一些变量,而变量仍未定义,我的意思是它本身? 它是如何工作的? 为什么我们一般使用它? 有什么影响?
感谢您的解释..
public struct **PersonId**
{
public static readonly **PersonId** default= new PersonId(value,1,1);
public static readonly **PersonId** x = new PersonId(someValue, 0, 0);
public static readonly **PersonId** y = new PersonId(someOtherVale,-1,0);
[DataMember]
public int Prop1 { get; private set; }
[DataMember]
public int Prop2 { get; private set; }
[DataMember]
public int Prop3 { get; private set; }
public PersonId(int prop1 , int prop2 , int prop3 )
: this()
{
Prop1 = prop1 ;
Prop2 = prop2 ;
Prop3 = prop3 ;
}
答案 0 :(得分:2)
将static
视为全局变量 - 您实际上将default
和x
以及y
声明为全局变量(*)。
如果您无法执行此操作,您希望DateTime.MinValue
之类的内容如何运作?
public static readonly DateTime MinValue = new DateTime(0L, DateTimeKind.Unspecified);
请注意,如果您删除https://stackoverflow.com/a/8892920/34092中讨论的static
,您的代码将无法编译。
(*)严格来说不是真的,但现在坚持我。