C# foreach循环var变量类型

C# foreach循环

                        foreach (XmlNode item in node)
            {

            }

这儿的循环,如果把XmlNode换成var会报错,为什么? 不是自动识别类型的吗

c#

2个回答

node的类型为XmlNodeList, XmlNodeList定义如下:

 public abstract class XmlNodeList : IEnumerable, IDisposable

它实现IEnumerable接口,返回的enumerator (枚举)为 object ,如果按照foreach (XmlNode item in node)使用,
.net会将object转换为XmlNode,而如果是var,会当作 object 对待。

zWei_V
LI-XIAOYAO 怎么能快速判断是否能使用var ,还是在写循环的时候知道变量类型的都写上
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐