【问题标题】:VB.NET: How to incrementally replace values in String ArrayVB.NET:如何增量替换字符串数组中的值
【发布时间】:2011-01-09 18:25:00
【问题描述】:

我有一个包含以下值的字符串数组:

dim strArray() as string  
dim newValueFor0Index as string = "Z"  
strArray(0) = "A"  
strArray(1) = "B"  
strArray(2) = "C"`

我需要的是一个循环或其他东西来替换这些值:

strArray(0) = "Z"  
strArray(1) = "A"  
strArray(2) = "B"`

然后我需要向 strArray() 添加另一个索引,它将保存最后一个值,即:

strArray(0) = "Z"  
strArray(1) = "A"  
strArray(2) = "B"  
strArray(3) = "C"`

我尝试了一个while循环:

while i < Count

    ni++  
    currentArr(ni) = currentArr(i)  
    i++  
end while  

但这行不通,因为 i 正在使用冗余值

【问题讨论】:

    标签: .net vb.net arrays


    【解决方案1】:

    数组是执行此操作的错误集合类型。列表很简单:

        Dim lst As New List(Of String)
        lst.Add("A")
        lst.Add("B")
        lst.Add("C")
        lst.Insert(0, "Z")
    

    如果真的有必要,您可以随时将其重新设置为数组:

        Dim array() As String = lst.ToArray()
    

    【讨论】:

    • 数组来自 cookie,我通过这样做将它放入数组中... strArray = cookieValue.split("$")
    • 如果我按照您的建议进行操作,列表的值不会是 Z、B、C 吗?当我需要它是 Z、A、B、C
    • Dim lst As New List(Of String)(cookieValue.Split("$"c))。不,Insert 确实是插入,而不是替换。
    • 这里的c是什么意思?"$"c
    • @kevon:这是char 的演员表。您可能想将Option Strict 转为On。如果涉及到铸造,这会让你头疼。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多