問題は、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
ただし、SUM は 10 ではなく 53 になります。特定の文字の数値を決定するためにどのシステムを使用していますか? あなたが投稿したコードは、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になります。