2015-08-15 74 views
0
string[] dirs = System.IO.Directory.GetDirectories(@"C:\Somefolder\"); 

foreach (string dir in dirs) 
{ 
    listBox1.Items.Add(Path.GetFileName(dir)); 
} 

这是我的代码特定文本的项目,我不知道如何得到它包含在我的文本框,例如一些名存实亡的目录。我已经看到有人有文本框,在它旁边更新按钮,我试图以同样的方式执行 - 你写入到文件夹前的文本框名称。 Windows和它只显示一个文件夹,所以如果我写Sys它会发现System32和SYSWOW64 & &它不会区分大小写因为我可以做简单的条件,但不能使它不区分大小写,你知道我的意思吗?我的英语很糟糕,不得不这样希望告诉它的理解只添加其中包含文本

回答

1

也许,你要想这

string[] dirs = System.IO.Directory.GetDirectories(@"C:\Somefolder\"); 
foreach (string dir in dirs.Where(x => x.Contains(textBox1.Text))) 
{ 
    listBox1.Items.Add(Path.GetFileName(dir)); 
} 

编辑

string[] dirs = System.IO.Directory.GetDirectories(@"C:\Somefolder\"); 
foreach (string dir in dirs.Where(x => x.ToLower().Contains(textBox1.Text.Trim().ToLower()))) 
{ 
    listBox1.Items.Add(Path.GetFileName(dir)); 
} 
+0

有没有办法做到这一点这种方式,但需要连不区分大小写的字符?我的意思是如果有文件夹“Windows”,即使搜索“windows”,我想列出文件夹 –

+0

@yoloscope我编辑我的文章以忽略区分大小写的搜索。 –

+0

感谢您的帮助 –

相关问题