所以我需要计算文本框中的行数,为此我要使用:
if (subject.Length <= 20)
{
bool moreLines = true;
int onLine = 2;
int count = 0;
while (moreLines)
{
textBody[count] = TextBox_Text.Text.Split('\n')[onLine];
Console.WriteLine("Line saved: " + textBody[count]);
onLine++;
count++;
try
{
if (TextBox_Text.Text.Split('\n')[onLine] == null)
{
}
}
catch (IndexOutOfRangeException)
{
moreLines = false;
}
}
return true;
}
我将拆分的字符串插入textBody[]
数组中,但是一旦我到达没有文本的最后几行,我就希望循环停止。我试图做一个if语句,检查下一行是否为空,如果是,则停止循环。但是,我一直得到IndexOutOfRangeException,所以我只是将整个过程放在了一个try catch中,但是我觉得这样做会有更简单的方法?
答案 0 :(得分:2)
我认为您可能已经解决了很多复杂的问题。
String.Split
方法有多个重载,其中一些重载以StringSplitOptions
枚举的成员作为参数-其中一个成员称为None
,另一个成员称为{{1} }-据我了解,您所需要做的就是:
RemoveEmptyEntries
答案 1 :(得分:0)
执行此操作的一种简单方法是仅使用以下内容:
TextBox_Text.Text.Split('\n').Length
Length
属性返回数组的长度。
答案 2 :(得分:0)
所以我只是使用LineCount属性,然后与onLine进行了比较
if (TextBox_Text.LineCount >= onLine)
{
moreLines = false;
}