c# - 获取 TextBox 中的文本行数

标签 c# winforms

我试图通过标签显示文本框中的文本行数。但是,问题是如果最后一行是空的,标签必须显示没有空行的行号。

例如,如果它们是 5 行,最后一行为空,则标签应显示行数为 4。

谢谢..

private void txt_CurrentVinFilter_EditValueChanged(object sender, EventArgs e)
{
   labelCurrentVinList.Text = string.Format("Current VIN List ({0})",  txt_CurrentVinFilter.Lines.Length.ToString());                       
}

实际上,上面是代码...必须更改为在 C# winforms 中仅显示非空行。

谢谢

最佳答案

您还可以使用 LinQ 以更短的方式执行此操作。计算行数并排除最后一行(如果它为空):

var lines = tb.Lines.Count();
lines -= String.IsNullOrWhiteSpace(tb.Lines.Last()) ? 1 : 0;

并且只计算非空行:

var lines = tb.Lines.Where(line => !String.IsNullOrWhiteSpace(line)).Count();

关于c# - 获取 TextBox 中的文本行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9606818/

相关文章:

c# - 将日期时间从excel格式转换成sql格式

c# - DataBindXY 为 X 值赋零

C# WinForms 自定义控件默认属性

c# - 在 C# 中绑定(bind)到 DataGridView 时使用的一个很好的集合

c# - 如何用 CI 收紧质量棘轮

c# - 在未来的 excel/.net 版本中,从 datagridview 复制/粘贴到 excel 的可能性会被破坏吗?

c# - 如何以 DDD 方式部分更新聚合

c# - 监视特定进程的网络性能

c# - 将窗口置于最前面

c# - 如何在 ListView 详细信息 View 中交换两行?