【发布时间】:2015-01-08 07:57:19
【问题描述】:
我试图解析一些字符串。由于我是 C# 的新手,我在某些时候很好奇,您可以在下面看到。
当Lines_Array[i] 为空(Lines_Array[i].Length==0)时,它会引发异常。这已经是我在示例 #2 中想要的,在示例 #1 中没有用。
我想摆脱异常。因为零长度字符串将是我的限制。对此有任何解决方案、替代方案或解决方法吗?
示例 #1:
try
{
if (Lines_Array[i + 6].Substring(p, 7).Trim() == "")
break;
}
catch (ArgumentOutOfRangeException) { break; }
示例 #2: 我需要找出每页中存在多少“Groze”行。 我需要数数,直到看到带箭头的线。但它抛出异常。 截图:
try
{
while (Lines_Array[i + k].Substring(2, 5).Trim() == "Groze")
{
bedensay++;
k++;
}
}
catch (ArgumentOutOfRangeException) { }
提前致谢。
【问题讨论】:
-
你的问题似乎有点不清楚,你想做什么?
-
如前所述,Q 不清楚。如果您只想避免 ArgumentOutOfRangeException,只需在获取所需的 Substring 之前添加对 Lines_Array 长度的检查
-
您熟悉
for和/或foreach构造吗?它似乎比while更合适。你到底想做什么? -
我熟悉这些循环,但范围各不相同。这就是我试图找出存在多少行内容的地方。
-
我选择
while的原因不是为了扫描所有数组。这是一个非常大的数组,从文件和 there are multiple places in one array. I need them in one pass 中扫描,当我向下移动时,我需要每个部分的结果。 (你的例子是 4/1,我的例子是 4/4/1)
标签: c# exception exception-handling