4
我正在編寫一個測試腳本以用於較大的腳本。我需要獲取音樂目錄中的第一個文件,以便我可以自動打開wmplayer並播放第一首歌曲。GetFiles()不返回目錄C中的第一個文件名#
如果我硬編碼的文件名稱,並啓動過程,它的工作原理。但是,如果其他人想使用腳本,我需要獲取第一個文件名。例如,我的硬編碼的版本是:
Process.Start("wmplayer.exe", "C:\\Users\\" + username + "\\Music\\A_ChillstepMix.mp3");
當我試圖讓音樂文件夾的第一個文件在我的測試腳本,它返回一個在圖片:
這是不正確的!我究竟做錯了什麼?這裏是我的代碼片段:
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();
無濟於事。這與單引號有關嗎?
我沒想到的排序依據()方法存在。非常感謝你的幫助。它工作完美。 – IRGeekSauce
另外考慮使用'EnumerateFiles'而不是'GetFiles'。 – mjwills