gpt4 book ai didi

c# - GetFiles() 不返回目录 C# 中的第一个文件名

转载 作者:太空狗 更新时间:2023-10-30 01:14:03 25 4
gpt4 key购买 nike

我正在编写一个测试脚本以用于更大的脚本。我需要获取音乐目录中的第一个文件,以便我可以自动打开 wmplayer 并播放第一首歌曲。

如果我对文件名进行硬编码并启动进程,它就可以工作。但是,如果其他人想使用该脚本,我需要获取第一个文件名。例如,我的硬编码版本是:

Process.Start("wmplayer.exe", "C:\\Users\\" + username + "\\Music\\A_ChillstepMix.mp3");

当我尝试在我的测试脚本中获取 Music 文件夹中的第一个文件时,它返回了图片中的那个:

Wrong File Being Accessed

这不是正确的!我究竟做错了什么?这是我的片段:

using System;
using System.IO;
using System.Linq;

namespace GetFileTest
{
class Program
{
static void Main(string[] args)
{
String username = Environment.UserName;
String path = @"C:\Users\" + username + @"\Music";
DirectoryInfo di = new DirectoryInfo(path);
string firstFile = di.GetFiles().Select(fi => fi.Name).FirstOrDefault();

Console.WriteLine(firstFile);
}
}
}

我也试过:

string firstFile = di.GetFiles()[0].ToString();

没有用。它与单引号有关吗?

最佳答案

在选择第一个文件之前,您必须对文件名进行排序:

di.GetFiles().OrderBy(fi => fi.Name).Select(fi => fi.Name).FirstOrDefault();

关于c# - GetFiles() 不返回目录 C# 中的第一个文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46627235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com