如何在页面加载事件中汇总插入到文本框中的所有字符?

时间:2013-04-23 07:53:47

标签: asp.net vb.net visual-studio visual-studio-2008

我有以下给定的参数:

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

1 个答案:

答案 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。