You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET循环检测多行文本框时如何获取空白行的行号?

VB.NET 获取多行文本框空白行行号实现方案

TextBox.Lines属性是按顺序存储每行内容的字符串数组,你可以通过遍历数组索引的方式直接获取对应行号,两种常用实现方式如下:

方案1:直接遍历数组索引(推荐)

这种方式逻辑最直观,不需要额外维护计数变量:

' 用于存储所有空白行行号的列表
Dim blankLineNumbers As New List(Of Integer)()

For i As Integer = 0 To TextBox2.Lines.Length - 1
    ' 判断空行:String.IsNullOrWhiteSpace 可同时匹配全空格、制表符的空白行
    ' 如果仅需匹配完全无字符的纯空行,替换为 If TextBox2.Lines(i) = "" 即可
    If String.IsNullOrWhiteSpace(TextBox2.Lines(i)) Then
        ' 日常使用的行号从1开始,数组索引从0开始,所以+1;如果需要0起始行号直接用i
        Dim currentLineNumber As Integer = i + 1
        blankLineNumbers.Add(currentLineNumber)
        
        ' 这里可以追加你需要的其他业务逻辑
        ' 示例:弹出提示找到空白行 MessageBox.Show($"第 {currentLineNumber} 行为空白行")
    End If
Next

方案2:For Each 循环搭配计数变量

如果要保留你原有For Each的写法,可以额外声明一个索引计数变量:

Dim blankLineNumbers As New List(Of Integer)()
Dim lineIndex As Integer = 0

For Each line As String In TextBox2.Lines
    If String.IsNullOrWhiteSpace(line) Then
        Dim currentLineNumber As Integer = lineIndex + 1
        blankLineNumbers.Add(currentLineNumber)
    End If
    lineIndex += 1
Next

注意事项

  • 两种方案都可以把匹配到的空白行行号存在blankLineNumbers列表里,你后续可以直接遍历这个列表获取所有空白行位置
  • 行号计数规则可以按需调整,如果需要和数组索引一致从0开始,去掉+1的逻辑即可

内容的提问来源于stack exchange,提问作者vahid Araghi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 02:15:03