【问题标题】:Concatenating string to integer将字符串连接到整数
【发布时间】:2014-06-25 14:26:59
【问题描述】:

请看下面的代码:

Dim str1 As String="Test"
Dim int1 As Integer = 1
Dim str2 = str1 & int1

应该在连接之前将 int1 转换为字符串还是没有区别?

我最近在 VB.NET 应用程序中打开了 OPTION STRICT

【问题讨论】:

  • 您为什么不尝试找出答案? :)

标签: vb.net


【解决方案1】:

String manipulation with & or + in VB.NET

使用 & 运算符表示您打算连接字符串, 而 + 运算符表示您打算添加数字。使用 & 运算符会将运算的两边都转换为字符串。

& 总是返回 String

【讨论】:

    【解决方案2】:

    这是一个非常糟糕的问题,但我还是会回答。结果是:不,不需要强制转换。在您的情况下,str2 将是 Test1

    在内部,代码将使用String.Concat() 方法,该方法接受对象并在对象上调用ToString()。由于 .NET 中的所有内容都派生自 object,因此这将起作用。

    【讨论】:

      【解决方案3】:

      concatenation (&) operator 可以将数字隐式转换为字符串。

      另外,如果我有任何疑问,我会使用TypeName 来确定变量的类型 在你的情况下:

       TypeName(str2)
      

      另外,如果Option Strict 开启,隐含的narrowing conversion 会导致编译时错误,在这种情况下是加宽转换。

      【讨论】:

      • 或者将鼠标悬停在上面查看类型
      猜你喜欢
      • 2013-02-26
      • 2021-09-01
      • 1970-01-01
      • 2017-05-20
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2011-08-16
      • 1970-01-01
      相关资源
      最近更新 更多