读书人

object[]如何转fileInfo[]

发布时间: 2012-04-07 17:31:51 作者: rapoo

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中是值类型还是引用类型

读书人网 >C#

热点推荐