我创建了Web应用程序并使用文本框,它可以包含多行数据becoz我已经设置了它的textmode属性是多行的。 我的问题是我想检查每一行是否包含数据,所以我使用count变量来计算包含数据的行数。
string[] data;
int cntindex;
data = txt_invoicenumber.Text.ToString().Split("\n".ToCharArray());
cntindex = data.Length;
for (j = 0; j < cntindex; j++)
{
if (data[j]!="")
{
inv_count++;
}
}
它不起作用。 请帮帮我。
答案 0 :(得分:1)
我想这是因为新行\r\n
所以空行也有'\r'
。
将if语句更改为:
if (data[j].Trim().Length != 0)
答案 1 :(得分:0)
首先,您不需要ToString()
.Text
属性,因为它已经是一个字符串。
试试这个
string[] lines = txt_invoicenumber.Text.Split(Environment.NewLine);
int lineCount = 0;
foreach(string line in lines)
{
if(!string.IsNullOrEmpty(line))
{
lineCount ++;
this.ProcessLine(line);
}
}
答案 2 :(得分:0)
var lb = new String[] { "\r\n" };
var lines = txt_invoicenumber.Text.Split(lb, StringSplitOptions.None).Length;
这也会计算空行。如果您不想计算空行,请使用StringSplitOptions.RemoveEmptyEntries
值。
如果您对环境几乎无法控制,请不要在“\ r \ n”上计算100%。
答案 3 :(得分:0)
这是我想出的答案。
String[] lines = TextBox1.Text.Split(new Char[] { '\r', '\n' },
StringSplitOptions.RemoveEmptyEntries);
Int32 validLineCount = lines.Length;