object[]怎么转fileInfo[]?
System.IO.FileInfo[] files=new System.IO.FileInfo [0];
……
object[] obj = files;
ArrayMethod.Upset(ref obj);//打乱数组,其参数是object[]。
files =(System .IO .FileInfo[]) obj;
在最后一句,转换出错了:无法将类型为“System.Object[]”的对象强制转换为类型“System.IO.FileInfo[]”。中断的时候我看了啊,obj里的数据也是正确的啊,两者维数也相同。
这怎么办啊?
------解决方案--------------------try ->
Array.Copy(obj, files, obj.Length);
------解决方案--------------------ArrayMethod.Upset设计成
ArrayMethod.Upset(object[])这种形式
然后直接ArrayMethod.Upset(files)也可以
或者按楼上的方法数字拷贝。
直接files =(System .IO .FileInfo[]) obj;是肯定不行的
因为编译器无法确定obj中是值类型还是引用类型