C# C中带有-1的新关键字#
这是我第一次看到这种声明。我在谷歌上找不到多少信息。在一个现有的WPF应用程序中,当用户试图创建一个新窗口时,他实例化了如下所示的类。“-1”是什么意思?它到底是干什么的C# C中带有-1的新关键字#,c#,wpf,C#,Wpf,这是我第一次看到这种声明。我在谷歌上找不到多少信息。在一个现有的WPF应用程序中,当用户试图创建一个新窗口时,他实例化了如下所示的类。“-1”是什么意思?它到底是干什么的 ProductViewModel viewModel = new ProductViewModel(-1); 它只是构造函数的一个参数。。。创建类时,可以指定零(如果不创建至少一个构造函数,则会为您创建默认的空构造函数)或多个构造函数。在构造函数中,您通常设置类要使用的变量-1通常意味着未设置值(如默认值),但我认为在这种情
ProductViewModel viewModel = new ProductViewModel(-1);
它只是构造函数的一个参数。。。创建类时,可以指定零(如果不创建至少一个构造函数,则会为您创建默认的空构造函数)或多个构造函数。在构造函数中,您通常设置类要使用的变量
-1
通常意味着未设置值(如默认值),但我认为在这种情况下,最好使用如下可选参数创建构造函数:
public class ProductViewModel
{
// this is our modified constructor
public ProductViewModel(int productId = -1)
{
// do something with the values, probably set some internal field
}
}
使用new
关键字创建类实例时,始终会调用构造函数
根据注释,构造函数的参数声明如下:
params对象[]args
。这只是一个花哨的语法,用来表示我接受可变数量的参数。您可以在C#参考:上了解有关params
的更多信息,具体取决于ProductViewModel
中现有的代码。我认为这个-1
表明程序员打算创建一个新的产品。此-1
应为产品ID
。如果存在大于0的Id
,则将加载产品的详细信息。如果Id为-1
,则应创建新产品
这就是我对这个构造函数参数的想法。只要看一下ProductViewModel
的定义就知道这些参数是什么。这不是一个新的关键字,它只是一个方法参数……第一个答案更好:-D@walther谢谢你的回答。它被声明为public ProductViewModel(params object[]args){//}@WPFRookie,好的,我也会用这个信息更新答案。@walther params关键字链接很有用。谢谢Again@WPFRookie,不客气。如果这回答了您的问题,您可以随时将其标记为answer
,以备将来参考。在这样的问答网站上,这被认为是一种很好的做法。