是'使用'C#关键字?

Ric*_*chK 7 .net c# idisposable

如果一个对象IDisposable在C#中实现,则可以写入

using(DisposableFoo foo = new DisposableFoo())
Run Code Online (Sandbox Code Playgroud)

我一直想知道为什么using看起来像C#关键字,但需要在.Net框架中定义的接口.是using关键字(在这种情况下,显然是用于定义库导入),还是Microsoft在Visual Studio/.Net框架中重载了它?我不希望C#关键字依赖于库.

Ton*_*ams 8

它是一个需要IDisposable的关键字构造,因为它作用于对象的Dispose方法.让关键字使用类型并不是太过分了.如果是关键字,则需要条件(IE:Boolean)类型.


Bri*_*new 7

根据微软说法,这是一个关键词.


Guf*_*ffa 6

是的,它是一个关键字.C#语言依赖于实现许多关键字的框架.

依赖于框架的其他关键字是exmaple foreach(使用IEnumerable)和LINQ语法(当与LINQ to Objects一起使用时需要System.Linq库).

甚至关键词喜欢intstring依赖于类型System.Int32System.String框架.

  • 实际上使用是不常见的*因为*它需要一个接口.你可以使用没有IEnumerable的foreach,而LINQ没有任何特殊的库(它甚至不需要扩展方法,真的) (3认同)