我正在将这段代码的 VB.net 转换为 C#:
Dim files() As String
files = Directory.GetFiles("E:\\text", "*.txt")
Dim filename As String
Dim file As String
For Each file In files
filename = Path.GetFileName(file)
Run Code Online (Sandbox Code Playgroud)
我在 C# 中尝试过,但出现错误
foreach 语句中需要类型和标识符 csharp 中的错误
string[] files;
files = Directory.GetFiles("E:\\text", "*.txt");
string[] filenameMove;
string filename;
string file;
foreach (file in files)
filename = Path.GetFileName(file);
Run Code Online (Sandbox Code Playgroud)
尝试
foreach(var file in files)
Run Code Online (Sandbox Code Playgroud)
您需要指定要循环或使用的类型var
不过,您已经声明了一个名为 file 的变量。所以你必须使用不同的名称
foreach(var f in files)
{
filename = Path.GetFileName(f);
}
Run Code Online (Sandbox Code Playgroud)
(虽然按照你的逻辑,你只是在每次迭代时覆盖文件名,所以除非你只想要最后一个文件名,否则我不确定它的目的是什么)。