什么是C#中的ArraySystem.Object和System.Object之间的区别?

时间:2015-07-21 06:10:08

标签: c# arrays

我在包含不同类型对象的对象上创建了一个数组,并检查了每个元素的类型。然后将数组转换为List并检查每个元素的类型但结果是不同的?

object[] aobj = {"",4,2.5,7,new object()};
foreach (var element in aobj)
{
    Console.WriteLine("Type is Array"+element.GetType());
}


IList lsit = aobj as IList;

foreach (var element in lsit)
{
    Console.WriteLine("Type is in List " + element.GetType());
}

输出:

enter image description here

为什么有ArraySystem.ObjectSystem.Object?差异是什么?

2 个答案:

答案 0 :(得分:5)

仔细查看输出代码

Console.WriteLine("Type is Array"+element.GetType());

类型不是ArraySystem.String(等)。 “Array”一词来自您的代码。您在Array之后缺少空格以使输出清洁。

答案 1 :(得分:0)

由于"Type is Array"之间的空格和元素类型将其更改为

,问题出在您的代码中
Console.WriteLine("Type is Array "+element.GetType());

,您的输出将被更正

谢谢&快乐编程