0

我有一个ListBox目录中的文件集合,我需要从中删除扩展名。它们都将是 m4a 格式,这样应该会更容易一些。但是我已经搜索并找不到解决方案。

我对编程很陌生,希望能得到一些帮助。如果我可以请求一个示例,我将非常感激,请您使用lstSong而不是占位符,因为我对什么是占位符而不是示例感到困惑。

根据要求写入它的代码:

string[] songspaths = System.IO.Directory.GetFiles(librarypath + "/" + albumpath + "/" + songpath);

List<string> listsongs = new List<string>();

foreach (var f in songspaths)
{
   string songs = f.Split('\\').Last();
   lstSong.Items.Add(songs);
}

我不确定这段代码到底是如何工作的。大部分我都懂,不过是朋友帮我写的。这就是为什么我后来要这样做的原因。再次感谢。

4

1 回答 1

0

从您的评论中了解到,您只需要文件的文件名,而不需要路径或扩展名。为此,您可以使用Path.GetFileNameWithoutExtension

string[] songspaths = System.IO.Directory.GetFiles(librarypath + "/" + albumpath + "/" + songpath); // Get all the files from the specified directory

List<string> listsongs = new List<string>();

foreach (var f in songspaths)
{
   lstSong.Items.Add(Path.GetFileNameWithoutExtension(f)); // Store the filename without path or extension in the list
}

为了解释你朋友写的代码:

string songs = f.Split('\\').Last();

string.Split方法将字符串划分为由给定字符分隔的子字符串数组。在这种情况下,它是一个(转义的)反斜杠。返回数组的.Last()最后一个元素。

于 2013-07-25T10:12:22.020 回答