C# 在.NET4中没有System.IO.File.ReadLines(File.Count()?

C# 在.NET4中没有System.IO.File.ReadLines(File.Count()?,c#,C#,我正在尝试读取文件的行数 我在这里发现(stackoverflow),读取大文件中行数的最佳方法是使用以下代码: int count = System.IO.File.ReadLines(file).Count(); 然而,我不能让它编译。有人知道问题出在哪里吗 错误5“System.Collections.Generic.IEnumerable”不存在 包含“Count”的定义,不包含扩展方法“Count” 接受类型为的第一个参数 可以找到“System.Collections.Generi

我正在尝试读取文件的行数
我在这里发现(stackoverflow),读取大文件中行数的最佳方法是使用以下代码:

int count = System.IO.File.ReadLines(file).Count();
然而,我不能让它编译。有人知道问题出在哪里吗

错误5“System.Collections.Generic.IEnumerable”不存在 包含“Count”的定义,不包含扩展方法“Count” 接受类型为的第一个参数 可以找到“System.Collections.Generic.IEnumerable”(是 是否缺少using指令或程序集引用?)

谢谢, Eyal

您能做些什么:

int count = File.ReadAllLines(@"C:\filepath\file.txt").Length;

编辑:正如评论中指出的,这可能(将)对大文件执行得很糟糕。对于更详细解释原因的类似问题,view

Count()
IEnumerable
对象的扩展方法。尝试使用
语句为命名空间
系统添加
。Linq

这是从文本文件读取的窗口应用程序中的行数:

int linecount = System.IO.File.ReadAllLines(@"D:\yfile.txt").Length;
MessageBox.Show(linecount != null && (!string.IsNullOrEmpty(linecount.ToString())) ? linecount.ToString() : "Unable To Count");

你有使用System.Linq的代码吗
在文件顶部?您必须使用
foreach
AFAIK@dlev-这就是问题所在。我添加了“system.linq”,现在就可以了。感谢“读取大文件中的行数”,如果您执行了
ReadAllLines
,则需要将整个文件临时存储在ram中<代码>读取行
只需要存储当前行。这一点很好。对于大文件,这将是非常低效的。我已经更新了我的答案,以链接到一个类似的问题。这是从文本文件读取的窗口应用程序中的行数