-5

我的原始 DoWork 方法是:

private static void DoWork(string dirPath)

我使用以下方法从我的 Main 方法中调用它:

DoWork(@"C:\location");

但是我已将 DoWork 方法更改为以下内容。

private static void DoWork(string sourceDir, string fileType)

我很困惑如何从我的主要方法中调用它,我是 c# 的新手,并且查看了 MSDN 站点,但为了获得一些见解,但我似乎找不到与我的问题相关的任何内容。任何指导将不胜感激。

我的 DoWork 方法的片段:

    private static void DoWork(string sourceDir, string fileType)
    {

        // Function: Get specified files (fileType) form sub-directory (sourceDir)
        // Return: void
            {
    string[] dirEntries = Directory.GetDirectories(@"c:\fileDump");
    string fileName, filePath, fullFileName;

    foreach (string subDir in dirEntries)
{
    DirectoryInfo dir = new DirectoryInfo(subDir);
    FileInfo[] imgFiles = dir.GetFiles("*.xml");

    foreach (FileInfo imgFile in imgFiles)
{
    fileName = imgFile.Name;
    filePath = imgFile.DirectoryName;
    fullFileName = "filePath + “\\” + fileName";

从这里开始的代码

4

1 回答 1

2

所以,我想,你想调用一个只适用于某种文件的方法。
那么你的代码应该是这样的

 private static void DoWork(string sourceDir, string fileType)
 {
      string[] fileEntries = Directory.GetFiles(sourceDir, fileType, 
                             SearchOption.AllDirectories);
      foreach (string fullFileName in fileEntries)
      {
            ....
      }
 }

并以这种方式从 Main 方法中调用它

 // Work on every JPG file in source location and subdirectory of the initial location
 DoWork(@"c:\location", "*.jpg");

Directory.GetFiles方法可以采用三个参数来指定源位置、匹配文件的文件模式以及触发对初始文件夹的所有子文件夹的递归搜索的枚举。

于 2012-12-14T11:45:53.380 回答