C# 尝试获取没有路径或扩展名的文件名并输出到列表。
是同事给我的,但我只需要文件名:C# 尝试获取没有路径或扩展名的文件名并输出到列表。,c#,C#,是同事给我的,但我只需要文件名: private List<string> getWavFileList() { string path = @"c\test automation\wave files"; string[] files = Directory.GetFiles(path, "*.wav"); List<string> list = new List<string>(file
private List<string> getWavFileList()
{
string path = @"c\test automation\wave files";
string[] files = Directory.GetFiles(path, "*.wav");
List<string> list = new List<string>(files);
return list;
}
private List getWavFileList()
{
字符串路径=@“c\test automation\wave文件”;
string[]files=Directory.GetFiles(路径“*.wav”);
列表=新列表(文件);
退货清单;
}
输出列表包含路径和扩展名,我只需要文件名。我正在使用自己的方法,但无法将其编译:
private List<string> getWavFileList()
{
StringBuilder builder = new StringBuilder();
string path = @"c\test automation\wave files";
DirectoryInfo di = new DirectoryInfo(path);
FileInfo[] smFiles = di.GetFiles("*.wav");
foreach (FileInfo fi in smFiles)
{
builder.Append(Path.GetFileNameWithoutExtension(fi.Name));
builder.Append(", ");
}
string files = builder.ToString();
List list = new List<string>(files);
return list;
private List getWavFileList()
{
StringBuilder=新的StringBuilder();
字符串路径=@“c\test automation\wave文件”;
DirectoryInfo di=新的DirectoryInfo(路径);
FileInfo[]smFiles=di.GetFiles(“*.wav”);
foreach(smFiles中的文件信息fi)
{
Append(Path.GetFileNameWithoutExtension(fi.Name));
生成器。追加(“,”);
}
字符串文件=builder.ToString();
列表=新列表(文件);
退货清单;
在第一种解决方案中,更换该行
List<string> list = new List<string>(files);
这需要使用
系统
private List<string> getWavFileList()
{
string path = @"c:\test automation\wave files";
DirectoryInfo di = new DirectoryInfo(path);
FileInfo[] smFiles = di.GetFiles("*.wav");
List<string> list = new List<string>(smFiles.Select(f => Path.GetFileNameWithoutExtension(f.Name)));
return list;
}
private List getWavFileList()
{
字符串路径=@“c:\test automation\wave files”;
DirectoryInfo di=新的DirectoryInfo(路径);
FileInfo[]smFiles=di.GetFiles(“*.wav”);
List List=新列表(smFiles.Select(f=>Path.GetFileNameWithoutExtension(f.Name));
退货清单;
}
我不知道你为什么要用逗号连接字符串,我以为你想要一个列表:
private List<string> getWavFileList()
{
return Directory.EnumerateFiles(@"c\test automation\wave files", "*.wav")
.Select(System.IO.Path.GetFileNameWithoutExtension)
.ToList();
}
private List getWavFileList()
{
返回目录.EnumerateFiles(@“c\test automation\wave files”,“*.wav”)
.Select(System.IO.Path.GetFileName WithOutExtension)
.ToList();
}
编译器有没有特别提到它无法编译的原因?那不会编译either@PanagiotisKanavos,正确,我错过了源代码中的非通用列表
。我已经更新了。你比我先更新了。如果是EnumerateFiles
@PanagiotisKanavos:ok,已编辑,但也使用了OPGetFiles
我不想更改没有明显改进的未注释文件。如果他必须筛选文件,我会使用它。我知道,我也不想把它作为答案。关于迭代器、IEnumerable、临时对象和GC的讨论会有点过头。除非有很多文件
private List<string> getWavFileList()
{
return Directory.EnumerateFiles(@"c\test automation\wave files", "*.wav")
.Select(System.IO.Path.GetFileNameWithoutExtension)
.ToList();
}