我正在尝试了解我前辈的一些代码,他们使用“var”来声明所有内容,这很有帮助。
我有一个使用声明如下:
using (var postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
当我在此处放置断点时,postStream 在“自动”窗口中显示为 System.Net.ConnectStream。我想使用“ConnectStream”而不是“var”,但编译器不喜欢这样。
我缺少什么,为什么我不能像这样编写代码:
using (ConnectStream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
我知道这是微不足道的,但我总是被教导不要使用“var”,除非您有特定的理由这样做(例如在处理 LINQ 时)。我错了吗?
ConnectStream
是一个内部类,您不能显式使用它。但这并不重要,因为你不需要知道它的实际类型是ConnectStream
: 你只需要知道它是Stream
(声明的返回类型GetRequestStream
),实际的实现并不重要。
如果你想显式指定类型,就这样写:
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}
(但它的含义与使用完全相同var
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)