C# Object Instantiation 格式问题声明变量还是不声明变量
C# Object Intantiation format question declaring a variable vs not declaring a variable
我是 C# 的新手,我认为我看到了 2 种不同的方法来做同样的事情,或者我可能只是不理解。我的 "Murach's C# 2015" 书在第 369 页有一个创建 2 个对象实例的示例,如下所示:
Product product1, product2;
product1 = new Product("something", "something else", more stuff);
product2 = new Product("something different", "something else different", more different stuff);
你也可以这样做吗?
Product product1 = new Product("something", "something else", more stuff);
Product product2 = new Product("something different", "something else different", more different stuff);
似乎有些在线资源以一种方式进行,而其他来源以另一种方式进行,或者像我说的那样......也许我只是遗漏了一些东西。
第一部分
当您需要访问作用域外的变量时,首选第一种样式让我们说
如果您只需要在 if 条件内实例化您的对象,并且您还需要在 if 条件外访问对象,那么您可以这样做
Product product1;
if(condition == true)
{
product1 = new Product("something", "something else", more stuff);
}
product1.isInitiated = true
这里只有第一种类型的初始化会起作用,因为如果条件
我们需要在外部访问它
第二部分
现在,如果您只需要在 if 循环中访问 属性,那么第二种方法也可以使用
if(condition == true)
{
Product product1 = new Product("something", "something else", more stuff);
product1.isInitiated = true
}
在这种情况下,您可以选择在同一点进行实例化和初始化,或者在 if loop
内部进行
您必须在使用变量之前(一次)声明它,但您可以多次分配声明的对象变量。
// declare the variable
Product product1
// assign to first product
product1 = new Product("first product");
// assign to a different product
product1 = new Product("second product");
你可以像"shorthand"一样使用声明和赋值的技巧,这样你就可以合并前两行代码(不算注释):
//declare and assign the variable in one step
Product product1 = new Product("first product");
//re-assign the previously declared variable to a different object
product1 = new Product("second product");
你只声明了一次变量,所以这会给你一个错误:
Product product1 = new Product("first product");
Product product1 = new Product("second product");
我是 C# 的新手,我认为我看到了 2 种不同的方法来做同样的事情,或者我可能只是不理解。我的 "Murach's C# 2015" 书在第 369 页有一个创建 2 个对象实例的示例,如下所示:
Product product1, product2;
product1 = new Product("something", "something else", more stuff);
product2 = new Product("something different", "something else different", more different stuff);
你也可以这样做吗?
Product product1 = new Product("something", "something else", more stuff);
Product product2 = new Product("something different", "something else different", more different stuff);
似乎有些在线资源以一种方式进行,而其他来源以另一种方式进行,或者像我说的那样......也许我只是遗漏了一些东西。
第一部分
当您需要访问作用域外的变量时,首选第一种样式让我们说 如果您只需要在 if 条件内实例化您的对象,并且您还需要在 if 条件外访问对象,那么您可以这样做
Product product1;
if(condition == true)
{
product1 = new Product("something", "something else", more stuff);
}
product1.isInitiated = true
这里只有第一种类型的初始化会起作用,因为如果条件
我们需要在外部访问它第二部分
现在,如果您只需要在 if 循环中访问 属性,那么第二种方法也可以使用
if(condition == true)
{
Product product1 = new Product("something", "something else", more stuff);
product1.isInitiated = true
}
在这种情况下,您可以选择在同一点进行实例化和初始化,或者在 if loop
内部进行您必须在使用变量之前(一次)声明它,但您可以多次分配声明的对象变量。
// declare the variable
Product product1
// assign to first product
product1 = new Product("first product");
// assign to a different product
product1 = new Product("second product");
你可以像"shorthand"一样使用声明和赋值的技巧,这样你就可以合并前两行代码(不算注释):
//declare and assign the variable in one step
Product product1 = new Product("first product");
//re-assign the previously declared variable to a different object
product1 = new Product("second product");
你只声明了一次变量,所以这会给你一个错误:
Product product1 = new Product("first product");
Product product1 = new Product("second product");