c# - csharp 中的 foreach 语句错误中都需要类型和标识符

标签 c# vb.net

我正在将此代码的 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# 中尝试过,但出现错误

Type and identifier are both required in a foreach statement ERROR in csharp

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);
}

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

关于c# - csharp 中的 foreach 语句错误中都需要类型和标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165795/

相关文章:

c# - 在 TableLayoutPanel Visual Studio 中交换控件

c# - 将单个对象绑定(bind)到 Datagridview

c# - 使用 OpenXml 创建 word 文档 (docx)

c# - 在 .Net 中编译 C# 程序后的 MSIL 文件在哪里?

c# - SSMS 加载项警告

mysql - MySQL 中的 SELECT 语句区分大小写

c# - 后台 worker 可以有一个通用的方法吗?

c# - 将音频播放到.net中的非默认播放设备

xml - 带有命名空间的 XPath 选择节点

mysql - 按数据库中的 Emp_ID 和信用日期插入最短日志时间和最长日志时间