C# 使用丢弃'_'

For*_*uck 6 .net c#

我不太确定两者之间的区别

DataTable itemTable = new DataTable();
itemTable = //CODE
Run Code Online (Sandbox Code Playgroud)

_ = new DataTable();
DataTable itemTable = //CODE
Run Code Online (Sandbox Code Playgroud)

两者的工作方式完全相同,为什么我需要将其更改为 _ 所示?

“潜在修复”的图像

在此处输入图片说明

MyB*_*g18 13

因为你赋值new DataTable()后没有使用过这个值,intellisense认为你不需要它,所以就做了左边的通配符。

它就像:

int a = 5;
a = 6; // you didn't even used the value 5 assigned above!
Run Code Online (Sandbox Code Playgroud)

但是,如果 的构造函数DataTable有副作用,intellisense 建议您不要使用通配符 _ 丢弃整个语句。这就是发生的事情。

如果的构造函数DataTable没有副作用,你可以随意删除语句,就像上面的int例子一样。