【问题标题】:How to convert c# code to vb.net. Error occurred in getting numeric value of a character如何将 c# 代码转换为 vb.net。获取字符的数值时出错
【发布时间】:2018-04-09 06:28:15
【问题描述】:

我正在尝试将 c# 项目转换为 vb.net 项目。但我无法在 vb.net 中转换一些代码。

C#代码:

if ((a >= 33) && (a <= 48)) { word += "|"; word1 += "|"; }

vb.net 代码:

If (Char.GetNumericValue(a) >= 33) AndAlso (Char.GetNumericValue(a) <= 48) Then
    word += "|"
    word1 += "|"
End If

在c#中,a的数值直接与整数值进行比较。但在 Vb.net 中,我无法将 a 的数值与 ASCII 值进行比较。是否有可能将 c# 项目解决方案转换为 vb.net 解决方案?让我知道解决方案。提前致谢。

【问题讨论】:

  • 你试过用Asc(a)吗?
  • 应该是Convert.ToInt32。如果您阅读了Char.GetNumericValue 的文档,应该很明显为什么这不是您想要的。
  • @SamvelPetrosov 是的,我也使用 Asc(a) 进行了测试。使用此 Asc(a) 时,所有字符的值都是相同的整数值
  • @jmcilhinney 现在可以使用Convert.ToInt32。谢谢。

标签: c# vb.net ascii


【解决方案1】:

您可以将字符值转换为其 ASC 值,然后将其与 vb.net 中的值进行比较查找示例代码如下

Dim a As Char
a = "a"
Dim i As Integer = Asc(a)
Console.Write(i.ToString())
If i < 90 Then
    'Do what you want
End If

【讨论】:

    【解决方案2】:

    您应该使用 VB 的“AscW”函数(不是“Asc”),假设“a”是一个字符:

    If (AscW(a) >= 33) AndAlso (AscW(a) <= 48) Then
        word &= "|"
        word1 &= "|"
    End If
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多