Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与方法调用并发的新对象创建_C#_.net_Syntax - Fatal编程技术网

C# 与方法调用并发的新对象创建

C# 与方法调用并发的新对象创建,c#,.net,syntax,C#,.net,Syntax,在以下代码中,似乎在同时调用该对象上的方法(Resize)时创建了一个新对象: Image<Bgr, Byte> img = new Image<Bgr, Byte>(fileNameTextBox.Text).Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true); Image img=新图像(fileNameTextBox.Text)。调整大小(400400,Emgu.CvEnum.INTER.CV\

在以下代码中,似乎在同时调用该对象上的方法(
Resize
)时创建了一个新对象:

Image<Bgr, Byte> img = new Image<Bgr, Byte>(fileNameTextBox.Text).Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
Image img=新图像(fileNameTextBox.Text)。调整大小(400400,Emgu.CvEnum.INTER.CV\u INTER\u LINEAR,true);

我所描述的是对正在发生的事情的正确解释吗?在C#world中,这种用法的名称是什么?

不,它根本没有同时进行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:

var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);

这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回
this
,或者它是否创建了一个新对象并执行了适当的Resize操作。

不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:

var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);

这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回
this
,或者它是否创建了一个新对象并执行了适当的Resize操作。

不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:

var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);

这个没有具体的名称-它让人联想到构建器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回
this
,或者它是否创建了一个新对象并执行了适当的Resize操作。

不,它根本没有同时执行。它创建对象,然后调用方法,然后将方法调用的结果分配给变量。所以这相当于:

var tmp = new Image<Bgr, Byte>(fileNameTextBox.Text);
Image<Bgr, Byte> img = tmp.Resize(400, 400, Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR, true);
var tmp=新图像(fileNameTextBox.Text);
图像img=tmp.Resize(400400,Emgu.CV.CvEnum.INTER.CV_INTER_LINEAR,true);

这个没有具体的名称-它让人联想到生成器模式,尽管从您的示例中不清楚
Resize
是否修改现有对象并返回
this
,或者它是否创建了一个新对象并执行了适当的Resize操作。

不是同时执行的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。这通常称为方法链接,而不是并发的-它是按顺序发生的。通常称为方法链接。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将
fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将
fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,您可以进一步将
fileNameTextBox.Text
计算结果提取到单独的语句中。谢谢。对于这种一条语句在幕后解析为多条语句的快捷方式,有没有一个特殊的名称?@Sabuncu:它并不是真的“解析为多条语句”——它与此等价,但你不需要这样想。。。如果您真的愿意,还可以进一步将
fileNameTextBox.Text
计算结果提取到单独的语句中。