C# 我想用c“like”获取listview中的所有多个文件;ppt、docx和txxt,但我一次只能得到一个”;

C# 我想用c“like”获取listview中的所有多个文件;ppt、docx和txxt,但我一次只能得到一个”;,c#,C#,它确实有效,但不能满足我的需要 private void button2_Click(object sender, EventArgs e) { listView1.Items.Clear(); if (textBox1.Text != "") { List<string> files = new List<string>(); files = Directory.GetFiles(textBox1.Text, "*

它确实有效,但不能满足我的需要

private void button2_Click(object sender, EventArgs e)
{
    listView1.Items.Clear();
    if (textBox1.Text != "")
    {
        List<string> files = new List<string>();
        files = Directory.GetFiles(textBox1.Text, "*.txt,*.ppt").ToList();
        progressBar1.Maximum = files.Count;
        progressBar1.Value = 0;
        ListViewItem it;
        foreach (var file in files)
        {
            it = new ListViewItem(file.ToString());
            it.SubItems.Add(System.IO.Path.GetFileName(file.ToString()));
            it.SubItems.Add(System.IO.Path.GetExtension(file.ToString()));
            listView1.Items.Add(it);
            progressBar1.Increment(1);
        }
    }
    else
        MessageBox.Show("Select directory first");
}
private void按钮2\u单击(对象发送者,事件参数e)
{
listView1.Items.Clear();
如果(textBox1.Text!=“”)
{
列表文件=新列表();
files=Directory.GetFiles(textBox1.Text,“*.txt,*.ppt”).ToList();
progressBar1.max=files.Count;
progressBar1.值=0;
ListViewItemIt;
foreach(文件中的var文件)
{
它=新的ListViewItem(file.ToString());
添加(System.IO.Path.GetFileName(file.ToString());
添加(System.IO.Path.GetExtension(file.ToString());
listView1.Items.Add(it);
1.增量(1);
}
}
其他的
MessageBox.Show(“首先选择目录”);
}

GetFiles不接受多个扩展名

您的:
files=Directory.GetFiles(textBox1.Text,“*.txt,*.ppt”).ToList()

会来的

String[] extensions= new String[] {"txt","ppt"};

foreach (String extension in extensions) 
  files.AddRange(Directory.GetFiles(textBox1.Text, "*."+extension));

这将为您提供结果。

与多次调用
GetfFiles
相比,您还可以在文件上迭代一次并检查扩展名:

var extentions[] = {".txt", ".ppt"};
var all_files = Directory.EnumerateFiles(@"C:\Directory");
foreach (string current_file in all_files)
{
    foreach (var ext in extensions)
    {
       if (current_file.EndsWith(ext) 
       {
          // do what you need
       }
    }
}
您还可以包含单步遍历子目录的代码