C#打造自己的文件浏览器 出现问题

qianniao08 2008-12-06 07:13:09
http://tieba.baidu.com/f?kz=307058692
我照上面的例子做,但出现问题了,出现下面三个问题

使用了未赋值的局部变量“subDir”
使用了未赋值的局部变量“listDir”
使用了未赋值的局部变量“listFile”



就是下面这三句有问题:

foreach (DirectoryInfo d in subDir)

foreach (DirectoryInfo d in listDir)
 foreach (FileInfo d in listFile)
...全文
149 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
qianniao08 2008-12-08
  • 打赏
  • 举报
回复
我弄好了, foreach (DirectoryInfo d in subDir)

foreach (DirectoryInfo d in listDir)
 foreach (FileInfo d in listFile)
写在try里面行了,3q
卧_槽 2008-12-08
  • 打赏
  • 举报
回复
把你抄来的程序每一行都在做什么写上注释在旁边。你的问题不用我们回答自己就知道了。
wb186 2008-12-07
  • 打赏
  • 举报
回复
学习
CruelYoung123 2008-12-07
  • 打赏
  • 举报
回复
没初始化。。。
sijin 2008-12-07
  • 打赏
  • 举报
回复
学习到了
wangping_li 2008-12-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 qianniao08 的帖子:]
http://tieba.baidu.com/f?kz=307058692
我照上面的例子做,但出现问题了,出现下面三个问题

使用了未赋值的局部变量“subDir”
使用了未赋值的局部变量“listDir”
使用了未赋值的局部变量“listFile”



就是下面这三句有问题:

foreach (DirectoryInfo d in subDir)

foreach (DirectoryInfo d in listDir)
 foreach (FileInfo d in listFile)
[/Quote]
没有初始化..
可以直接用:

DirectoryInfo dirInfo = new DirectoryInfo(@"想遍历的磁盘");
foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
//.........对文件的处理
}


空心兜兜 2008-12-06
  • 打赏
  • 举报
回复
学习下
net5i 2008-12-06
  • 打赏
  • 举报
回复
给搂主贴段我写过的,返回指定目录下的所有文件,包括子目录的文件列表的方法

public void GetDirFiles(string rootDir, ref List <string> lstFiles, bool bIsDepth)
{
if (rootDir.Trim() == "" || !Directory.Exists(rootDir))
return;
if (lstFiles == null)
lstFiles = new List <string>();

DirectoryInfo dirInfo = new DirectoryInfo(rootDir);

FileInfo[] fileInfos = this.GetFileList(dirInfo);
if (fileInfos == null || fileInfos.Length == 0)
goto LABEL_1;

foreach (FileInfo fileInfo in fileInfos)
{
lstFiles.Add(fileInfo.FullName);
}

LABEL_1:
if (!bIsDepth) //如果不是深度递归
return;
DirectoryInfo[] dirInfos = this.GetDirList(dirInfo);
if (dirInfos == null || dirInfos.Length == 0)
return;
foreach (DirectoryInfo childDirInfo in dirInfos)
{
this.GetDirFiles(childDirInfo.FullName, ref lstFiles, bIsDepth);
}
}

搂主可以改一改,让它也把文件夹以及子文件夹列表返回,
进一步修改,可以显示在TreeView控件中,这就要搂主发挥自己的聪明才智啦。
liningln0 2008-12-06
  • 打赏
  • 举报
回复
DirectoryInfo dirInfo = new DirectoryInfo(@"c:\");//开始的时候得先用这个获得盘符文件信息。如果没有的文件也会发生错误。不过不是你的那个错误你的是因为没赋值引起的。。建议楼主仔细点。程序员要很仔细哦。。。一个很小的细节也许就会导致一个快交付的项目流产
if(dirInfo!=null)
{
foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
}
}
devilli 2008-12-06
  • 打赏
  • 举报
回复
楼上正解
liningln0 2008-12-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hulihui 的回复:]
C# code DirectoryInfo dirInfo = new DirectoryInfo(@"c:\");
foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
}
[/Quote]

长沙三毛 2008-12-06
  • 打赏
  • 举报
回复
            DirectoryInfo dirInfo = new DirectoryInfo(@"c:\");
foreach (FileInfo fileInfo in dirInfo.GetFiles())
{
}

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧