在csharp中的foreach语句ERROR中都需要类型和标识符
我正在将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)
我在C#中试过这个,但得到了错误
在csharp中的foreach语句ERROR中都需要类型和标识符
string[] files; files = Directory.GetFiles("E:\\text", "*.txt"); string[] filenameMove; string filename; string file; foreach (file in files) filename = Path.GetFileName(file);
尝试
foreach(var file in files)
您需要指定循环的类型或使用var
您已经声明了一个名为file的变量。 所以你必须使用不同的名字
foreach(var f in files) { filename = Path.GetFileName(f); }
(虽然用你的逻辑你只是在每次迭代时覆盖文件名,所以除非你只想要最后一个文件名,否则我不确定它的用途是什么)。
这就是你缺少var和string
试试这个
foreach (var file in files) foreach (string file in files)
string[] files; files = Directory.GetFiles("E:\\text", "*.txt"); string[] filenameMove; string filename; //string file; //foreach (file in files) foreach (string file in files) filename = Path.GetFileName(file);
你应该看一下foreach语法。
Foreach(Type varName in array) { filename = Path.GetFileName(varName); }
Type
和数组应该是相同的Type
或者你可以像这样使用var
变量
Foreach(var varName in array) { filename = Path.GetFileName(varName); }