【发布时间】:2025-12-24 20:20:14
【问题描述】:
我陷入了一个愚蠢的错误,但我无法弄清楚,你能帮帮我吗?
什么 我正在尝试创建一个具有多种方法的类,这些方法将在给定的文本文件中执行许多不同的正则表达式。这个文本文件从主程序传递到类。 然后该类使用文本文件并通过实例化类中的每个对象来执行我从主程序调用的每个正则表达式。
问题 当我传递文件时,我在类中创建了一个函数来计算文件的行数并循环遍历每一行,计算这种正则表达式匹配发生的次数。
//CountLines Function
static long CountLinesInFile(string f)
{
long count = 0;
using (StreamReader r = new StreamReader(f))
{
string line;
while ((line = r.ReadLine()) != null)
{
count++;
}
return count;
}
}
这个 CountLines 函数将提供要被对象循环的行,如下所示:
private string configfile;
public string ConfigFile
{
get { return this.configfile; }
set { this.configfile = value; }
}
public void objects()
{
//Counting Object Group Network
int objCount = Lines(configfile)
.Select(line => Regex.Matches(line, @"object-group network").Count)
.Sum();
//Ending of Counting Object Group Network
}
从主程序我试图调用类并通过这样做来获取结果:
Cisco newCisco = new Cisco();
newCisco.ConfigFile = richTextBox1.Text;
newCisco.objects();
我被困在using (StreamReader r = new StreamReader(f)) 行的课程中,路径中有非法字符:
异常:抛出:“路径中有非法字符。” (System.ArgumentException) 引发了 System.ArgumentException:“路径中有非法字符。” 时间:8/13/2014 1:58:01 AM 线程:主线程[1304]
我知道我犯了一个错误,但我可以找到在哪里,如果你能帮助我找到解决这个问题的方法,我将不胜感激。
【问题讨论】:
-
检查不可打印字符和问号。
-
我无法理解需要计算行数,而且如果没有示例文件路径(相同格式不同的单词)也很难看到非法字符在哪里
-
你在哪里调用 CountLinesInFile?你作为字符串 f 传递了什么?
-
我正在尝试计算 Program.cs(主文件)中的行数并计算类 (cisco.cs) 中的正则表达式匹配项
标签: c#