我有以下给定的参数:
Alphabet Provided Value
S 2
U 3
M 5
我有带有默认文本SUM的文本框,以及显示SUM结果的标签,我想要在文本框中插入所有字母,如S + U + M,如果s = 2,U = 3且M = 5并且标签中显示的结果为10
我想在VB.NET中编写用于执行此操作的程序
修改
Dim text = textbox1.text
Dim sum = 0
For Each c As Char In text
sum += c - 64
Next
答案 0 :(得分:2)
我认为问题是你试图从Char中减去64 - 当我尝试你的代码时,我得到一个' - '运算符没有为类型'Char'和'Integer'定义。
尝试使用Asc
获取ASCII值:
Dim text As String = textbox1.Text
Dim sum As Integer = 0
For Each c As Char in text
sum += Asc(c) - 64
Next
但是,这将为您提供53而不是10.您使用什么系统来确定给定字母的数值?您发布的代码表示您的减法64 - 如果不是ASCII,那么64的数字是什么?
修改强>
假设您为每个字母都预定义了数值,我会将它们放在Dictionary
中,其中Char为键,Integer为值。然后你可以做这样的事情:
Dim letterValues As New Dictionary(Of Char, Integer)
letterValues.Add("S", 2)
letterValues.Add("U", 3)
letterValues.Add("M", 5)
' You can add every letter with its predefined value this way
Dim text As String = textbox1.Text
Dim sum As Integer = 0
For Each c As Char in text
sum += letterValues(c)
Next
结果将是10。