C#中的新关键字为-1

Cha*_*tra -4 c# wpf

这是我第一次看到这种宣言.我在谷歌找不到太多信息.在其中一个现有的WPF应用程序中,用户尝试创建一个新窗口,他将实例化下面的类."-1"是什么意思?到底是做什么的?

ProductViewModel viewModel = new ProductViewModel(-1);
Run Code Online (Sandbox Code Playgroud)

wal*_*her 5

它只是构造函数的一个参数...当您创建一个类时,您可以指定零(如果您不创建至少一个,则为您创建默认的空构造函数)或更多构造函数.在构造函数中,您通常会为要使用的类设置变量.-1通常意味着没有设置值(比如默认值),但我相信在这种情况下,最好用这样的可选参数创建一个构造函数:

public class ProductViewModel
{
     // this is our modified constructor
     public ProductViewModel(int productId = -1)
     {
           // do something with the values, probably set some internal field
     }
}
Run Code Online (Sandbox Code Playgroud)

当您使用new关键字创建类的实例时,始终会调用构造函数.


根据注释,构造函数具有如下声明的参数: params object[] args.这只是一种花哨的语法I take variable number of parameters.您可以params在此处了解有关C#reference的更多信息:Params关键字