c# - 如何从C#中的文件夹中获取第一个文件名

标签 c#

我需要从文件夹中获取第一个文件名。我怎样才能在 C# 中获得它?

下面的代码返回所有的文件名:

DirectoryInfo di = new DirectoryInfo(imgfolderPath);
foreach (FileInfo fi in di.GetFiles())
{
    if (fi.Name != "." && fi.Name != ".." && fi.Name != "Thumbs.db")
    {
        string fileName = fi.Name;
        string fullFileName = fileName.Substring(0, fileName.Length - 4);

         MessageBox.Show(fullFileName);
    }
}

我需要第一个文件名。

最佳答案

有几种方法可以做到这一点:

  • 您可以在处理第一个文件后添加一个break 语句。这将退出 foreach 循环。

  • DirectoryInfo.GetFiles返回一个数组,因此您可以将其分配给一个变量并扫描元素,直到找到合适的元素。

  • 或者,如果您使用的是 .NET 3.5,您可以查看 FirstOrDefault带有谓词的方法。

这是一些代码:

string firstFileName =
    di.GetFiles()
      .Select(fi => fi.Name)
      .FirstOrDefault(name => name != "Thumbs.db");

关于c# - 如何从C#中的文件夹中获取第一个文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912425/

相关文章:

c# - 在 Unity5 中编写音频脚本

C# 如何为我的软件创建一个简单的基于时间的试用版?

c# - LINQ to SQL - 跟踪新/脏对象

c# - 奇怪的控制台 MoveBufferArea IOException

c# - 返回任务的方法的不同实现

c# - Visual Studio 2019 的 CSC 警告 CS1668

c# - 提交时下拉值重置为初始值

c# - 将字符串转换为可为空的日期时间

c# - 如何在 C# 中将音频文件读入数组

c# - C#中通过字符串查找控件的属性