C# 获取用户输入并搜索静态目录

C# 获取用户输入并搜索静态目录,c#,.net,windows-7,C#,.net,Windows 7,我的任务是创建一个应用程序,让用户在静态目录(共享驱动器)中搜索文件。我有一个文本框供用户输入完整文件名或部分文件名(由用户决定)。我希望它接受用户输入并查询目录,然后将所有匹配值返回到列表框 就本问题而言……目录为: @("\\server\directory\folder\subfolder\") 并且来自用户的输入被存储为: string search; 编辑 这是我目前掌握的代码 string search; search = searchTB.ToString(); Direct

我的任务是创建一个应用程序,让用户在静态目录(共享驱动器)中搜索文件。我有一个文本框供用户输入完整文件名或部分文件名(由用户决定)。我希望它接受用户输入并查询目录,然后将所有匹配值返回到列表框

就本问题而言……目录为:

 @("\\server\directory\folder\subfolder\")
并且来自用户的输入被存储为:

string search;
编辑

这是我目前掌握的代码

string search;
search = searchTB.ToString();
DirectoryInfo di = new DirectoryInfo(@("\\server\directory\folder\subfolder\");

// For a partial match
foreach (var fi in di.GetFiles("*" + search + "*"))
{
    Console.WriteLine(fi.Name);
    statusCodeLB.Items.Add(fi.Name);
}

// For an exact match
foreach (var fi in di.GetFiles(search))
{
     Console.WriteLine(fi.Name);
     statusCodeLB.Items.Add(fi.Name);
}

这将实现以下目的:

string directory = @"\\server\directory\folder\subfolder\";
string search = "userInput";
IEnumerable<string> files = Directory.GetFiles(directory).Where(file => file.Contains(search));
string directory=@“\\server\directory\folder\subfolder\”;
字符串搜索=“用户输入”;
IEnumerable files=Directory.GetFiles(Directory).Where(file=>file.Contains(search));
在此之后,您只需将数据绑定到列表框,就完成了。

您尤其可以使用该类


上面链接的MSDN页面包含您可以使用的选项的全部详细信息。

我尝试了您的代码,但没有产生任何结果。我尝试将Console.WriteLine更改为ListBox.Items.Add,但没有效果。我还尝试将ListBox.Items.Add(fi.Name)添加到每个foreach循环中……但这也没有效果。您是指单步进入或添加MessageBox.show“some text”还是(“var.ToString())在循环内部,查看消息框是否显示?逐步通过。。。在foreach中放置一个断点,看看是否达到了目的。当我在第一个循环中使用断点开始调试时,没有发生任何异常(没有错误)。如果我按下“搜索按钮”,它将显示代码并突出显示带有断点的行。但在我开始搜索之前,它不允许我介入/通过。“事件”窗口显示已命中断点。
DirectoryInfo di = new DirectoryInfo(@"\\server\directory\folder\subfolder\");

// For a partial match
foreach (var fi in di.GetFiles("*" + search + "*"))
{
  Console.WriteLine(fi.Name);
}

// For an exact match
foreach (var fi in di.GetFiles(search))
{
  Console.WriteLine(fi.Name);
}