求救,if语句无效
最近编写了一段代码,想用一段预先储存在array里的特定字符来替换原有字符串中的字符,代码如下
For Each g In strC.ToCharArray()
If posD > pos Then
posD = 0
End If
valueD = arrValue.GetValue(posD)
If 65 <= Asc(g) <= 90 Then
intD = Asc(g) - valueD
If intD < 65 Then
intD = intD + 26
End If
posD = posD + 1
arrValueD.SetValue(intD, i)
ElseIf 97 <= Asc(g) <= 122 Then
intD = Asc(g) - valueD
If intD < 97 Then
intD = intD + 26
End If
posD = posD + 1
Else
intD = Asc(g)
arrValueD.SetValue((intD), i)
End If
i = i + 1
Next
outPut = ASCIIEncoding.ASCII.GetString(arrValueD)
如代码所示,我把字符串strC中间的每一个字符单独拿出来分析,如果是大写,则用大写字母代替,如果是小写,则用小写字母代替,如果为符号,则不用改变。但是当实际运行中发现,if语句所限制的条件根本对Asc(g)不起作用,例如,当g为 "a "的时候,其ASCII码应该是97,应该进入if语句的第二个条件,但是运行中程序却还是进入了if语句的第一个条件并且运算了里面的代码,得到了错误的值。
本人刚学vb.net不久,希望各位高手帮忙解答一下。。。急!
[解决办法]
65 <= Asc(g) <= 90
写成
65 <= Asc(g) and Asc(g) <= 90