2

質問に記載されているとおりです。複数のディレクトリからファイルを読み取り、そのすべてを単一のデータグリッドビューに表示したいと考えています。同じ問題を抱えているものを見つけましたが、string[] を使用しているときに List<>.AddRange を使用してディレクトリを取得しています。助けてください。ディレクトリとファイルを取得するための私のコードスニペットは次のとおりです。

s1 = Directory.GetFiles(@"C:\Documents and Settings\Administrator\Desktop\FILE\7", "*.*");

これは、それを読み取って datagridview に入力するためのものです。

for (int i = 0; i <= s1.Length - 1; i++)
        {

            try
            {
                if (i == 0)
                {
                    dt.Columns.Add("File_Name");
                    dt.Columns.Add("File_Type");
                    dt.Columns.Add("File_Size");
                    dt.Columns.Add("Create_Date");
                }

                FileInfo info = new FileInfo(s1[i]);
                FileSystemInfo sysInfo = new FileInfo(s1[i]);
                dr = dt.NewRow();

                dr["File_Name"] = sysInfo.Name;
                dr["File_Type"] = sysInfo.Extension;
                dr["File_Size"] = (info.Length / 1024).ToString();
                dr["Create_Date"] = sysInfo.CreationTime.Date.ToString("dd/MM/yyyy");
                dt.Rows.Add(dr);


                if ((info.Length / 1024) > 1500000)
                {
                    MessageBox.Show("" + sysInfo.Name + " had reach its size limit.");
                }



                if (dt.Rows.Count > 0)
                {
                    dataGridView1.DataSource = dt;
                }
            }
            catch (UnauthorizedAccessException ex)
            {
                MessageBox.Show("Error : " + ex.Message);
                continue;
            }
        }

   }
4

1 に答える 1

3
List<string> s1 = System.IO.Directory.GetFiles(@"C:\Documents and Settings\Administrator\Desktop\FILE\7", "*.*").ToList<string>();
s1.AddRange(System.IO.Directory.GetFiles(@"C:\Documents and Settings\Administrator\Desktop\FILE\9", "*.*").ToList<string>());

などなど…では

foreach(s1 の文字列 s) .....

于 2012-04-05T09:11:56.480 に答える