public static void ListFiles(FileSystemInfo info)
...{
if(!info.Exists) return;
DirectoryInfo dir=info as DirectoryInfo;
//不是目录
if(dir==null) return;
FileSystemInfo[] files=dir.GetFileSystemInfos();
for(int i=0;i<files.Length;i++)
...{
FilesInfo file=file[i] as FileInfo;
//是文件
if(file!=null)
...{//文件处理
}
else
...{//继续遍历目录
ListFiles(files[i]);
}
}
}这是我在网上找到的代码,基本算法结构已经懂了,但是类似这样的语句“DirectoryInfo dir=info as DirectoryInfo;”,搞不懂是什么意思,请高手指点,还有就是esle语句中进行递归调用,会不会造成数据现场的破坏,比如,在调用完成后file数组的值会不被改变。新手+菜鸟,没分,请不吝赐教
...{
if(!info.Exists) return;
DirectoryInfo dir=info as DirectoryInfo;
//不是目录
if(dir==null) return;
FileSystemInfo[] files=dir.GetFileSystemInfos();
for(int i=0;i<files.Length;i++)
...{
FilesInfo file=file[i] as FileInfo;
//是文件
if(file!=null)
...{//文件处理
}
else
...{//继续遍历目录
ListFiles(files[i]);
}
}
}这是我在网上找到的代码,基本算法结构已经懂了,但是类似这样的语句“DirectoryInfo dir=info as DirectoryInfo;”,搞不懂是什么意思,请高手指点,还有就是esle语句中进行递归调用,会不会造成数据现场的破坏,比如,在调用完成后file数组的值会不被改变。新手+菜鸟,没分,请不吝赐教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货