加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net – VB – 如何从通用列表中删除“空”项?

发布时间:2020-12-17 07:12:21 所属栏目:百科 来源:网络整理
导读:我有一个VB.NET(2010)项目,其中包含一个通用列表,我试图找出如何从列表中删除任何“空”项目.当我说“空”时,我指的是任何不包含任何实际字符的项目(但它可能包含任何数量的空格,或根本没有空格). 例如,让我们说这是我的清单…… Dim MyList As New List(Of
我有一个VB.NET(2010)项目,其中包含一个通用列表,我试图找出如何从列表中删除任何“空”项目.当我说“空”时,我指的是任何不包含任何实际字符的项目(但它可能包含任何数量的空格,或根本没有空格).

例如,让我们说这是我的清单……

Dim MyList As New List(Of String)

    MyList.Add("a")
    MyList.Add("")
    MyList.Add("b")
    MyList.Add(" ")
    MyList.Add("c")
    MyList.Add("      ")
    MyList.Add("d")

我需要它,这样如果我对该列表进行了计数,它将返回4个项目,而不是7个.例如……

Dim ListCount As Integer = MyList.Count
    MessageBox.Show(ListCount) ' Should show "4"

如果有类似的东西会很好

MyList.RemoveEmpty

无论如何……过去几个小时我一直在寻找Google的解决方案,但到目前为止还没有找到任何解决方案.所以…任何想法?

顺便说一句,我的目标是这个项目的.NET 2.0框架.

提前致谢!

解决方法

你可以使用 List.RemoveAll

MyList.RemoveAll(Function(str) String.IsNullOrWhiteSpace(str))

如果您不使用至少.NET 4,则不能使用String.IsNullOrWhiteSpace.然后您可以自己实现该方法:

Public Shared Function IsNullOrWhiteSpace(value As String) As Boolean
    If value Is Nothing Then
        Return True
    End If
    For i As Integer = 0 To value.Length - 1
        If Not Char.IsWhiteSpace(value(i)) Then
            Return False
        End If
    Next
    Return True
End Function

请注意,自1.1以来Char.IsWhiteSpace就在那里.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读