我在包含不同类型对象的对象上创建了一个数组,并检查了每个元素的类型.然后将数组转换为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());
}
Run Code Online (Sandbox Code Playgroud)
输出:

为什么会出现ArraySystem.Object和System.Object?有什么不同 ?
仔细查看输出代码
Console.WriteLine("Type is Array"+element.GetType());
Run Code Online (Sandbox Code Playgroud)
类型不是ArraySystem.String(等)."Array"一词来自您的代码.在Array之后缺少空格以使输出清洁.