首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

求救,if语句无效,该如何解决

2012-02-21 
求救,if语句无效最近编写了一段代码,想用一段预先储存在array里的特定字符来替换原有字符串中的字符,代码

求救,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

热点排行