在chsharp中的foreach语句ERROR中都需要类型和标识符

本文关键字:类型 标识符 中的 chsharp foreach 语句 ERROR | 更新日期: 2023-09-27 18:01:42

我正在将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);

在chsharp中的foreach语句ERROR中都需要类型和标识符

Try

foreach(var file in files)

你需要指定你要循环的类型,或者使用var

您已经声明了一个名为file的变量。所以你需要用一个不同的名字

foreach(var f in files)
{
  filename = Path.GetFileName(f);
}

(尽管在您的逻辑中,您只是在每次迭代中覆盖文件名,所以除非您只想要最后一个文件名,否则我不确定它的目的是什么)。

您应该查看一下foreach语法。

  Foreach(Type varName in array)
  {
      filename = Path.GetFileName(varName);
  }

Type和数组应该是相同的Type或者你可以像这样使用var变量

  Foreach(var varName in array)
  {
      filename = Path.GetFileName(varName);
  }

这里没有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);