C#中的匿名块[重复]
Posted
技术标签:
【中文标题】C#中的匿名块[重复]【英文标题】:Anonymous block in C# [duplicate] 【发布时间】:2020-03-13 11:47:05 【问题描述】:我正在尝试理解下面的代码 - 下面的匿名块有什么用
Console.WriteLine("Hello World2");
上面的代码在方法中可用 - 我是 c# 新手并试图理解它。
【问题讨论】:
如果某些代码被包裹在匿名块中,它的作用域会被块的括号所限制。 【参考方案1】:在本例中使用:无。
使用匿名块:就像任何块一样,有自己的范围。
例如,此代码将无法编译,因为a
不在块外的范围内:
var a = 2;
Console.WriteLine(a);
Console.WriteLine(a);
您可以阅读更多信息here,虽然这稍微适用于 c/c++,但在 c# 中大部分适用。 here 也可以进行更存在主义的讨论。
【讨论】:
请注意,在 C# 8 中有一个指向匿名块的新点:当作用域结束时,通过using declaration
在作用域内引入的任何可处置对象都将在作用域的末尾被释放。跨度>
@MatthewWatson 真的很好,但我想知道你是否会像那样使用它们,为什么你不会只使用旧的 using(var x = new DisposibleThing()) ...
引入块的方法。
@Jamiec 缺乏知识。大多数时候我看到(尤其是在SO上)新手使用奇怪的结构,这是因为他们不知道更好。我也可能为此感到内疚。或者曾经。那不一定是人的错。就在上周,我看到一位老师毫无理由地让学生使用世界范围之外的代码。
是的,在这些情况下我总是会使用显式的“使用”块,但我认为值得指出。以上是关于C#中的匿名块[重复]的主要内容,如果未能解决你的问题,请参考以下文章