我在包含不同类型对象的对象上创建了一个数组,并检查了每个元素的类型。然后将数组转换为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());
}
输出:
为什么有ArraySystem.Object
和System.Object
?差异是什么?
答案 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());
,您的输出将被更正
谢谢&快乐编程