Vb.net 对重复的字符串列表值求和,并使用.net中的linq合并为一个

Vb.net 对重复的字符串列表值求和,并使用.net中的linq合并为一个,vb.net,sum,Vb.net,Sum,下面的代码我试图将字符串值与列表值相加,但其他值不会返回。我需要求和这些值,其他值应该使用vb.net中的linq返回给对象 我的代码: Dim lstrTaxValue As String=“YQ$40” Dim lstaValues作为新列表(字符串) lstaValues.加上(“10日元”) lstaValues.Add(“TQ$3”) lstaValues.添加(“PQ$8”) lstaValues.加上(“10日元”) lstaValues.Add(“TQ$3”) lstaValue

下面的代码我试图将字符串值与列表值相加,但其他值不会返回。我需要求和这些值,其他值应该使用vb.net中的linq返回给对象

我的代码:

Dim lstrTaxValue As String=“YQ$40”
Dim lstaValues作为新列表(字符串)
lstaValues.加上(“10日元”)
lstaValues.Add(“TQ$3”)
lstaValues.添加(“PQ$8”)
lstaValues.加上(“10日元”)
lstaValues.Add(“TQ$3”)
lstaValues.添加(“AQ$5”)
Dim lobjTValues=(来自lstaValues中的lstr
从lstrTaxValue.Split中的lval(“”)
其中(第一次拆分($)(0)=CStr(第二次拆分($)(0))
选择(CStr(lval).Split($)(0)&“$”&(CDbl)(CStr(lval).Split($)(1))+CDbl(lstr.Split($)(1()))。ToList()
我做错了什么?

引用Jon Skeet的话

在评论中

为什么要使用lambda表达式?foreach代码运行良好且简单。LINQ用于查询数据,而不是对其进行变异乔恩·斯基特

你的目标似乎不适合林克

Private Sub OPCode()
    Dim lstrTaxValue As String = "YQ$40"
    Dim lstaValues As New List(Of String)
    lstaValues.Add("YQ$10")
    lstaValues.Add("TQ$3")
    lstaValues.Add("PQ$8")
    lstaValues.Add("YQ$10")
    lstaValues.Add("TQ$3")
    lstaValues.Add("AQ$5")
    Dim TaxValue = lstrTaxValue.Split("$"c)
    For i = 0 To lstaValues.Count - 1
        If lstaValues(i).Split("$"c)(0) = TaxValue(0) Then
            lstaValues(i) = TaxValue(0) & "$" & CStr(CDbl(lstaValues(i).Split("$"c)(1)) + CDbl(TaxValue(1)))
        End If
    Next
    For Each s In lstaValues
        Debug.Print(s)
    Next
End Sub
结果:

50日元

TQ$3

PQ$8

50日元

TQ$3

AQ$5