![](/img/trans.png)
[英]C# get fibonacci IEnumerable<int> with recursion.. I want it to return all the numbers, not only the last one
[英]I wanna get all multiple files in listview in c# like "ppt,docx,and txxt but i get only one at a time"
它確實有效,但不能滿足我的需要。
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");
}
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
}
}
}
您還可以包含用於單步執行子目錄的代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.