当前位置:  开发笔记 > 编程语言 > 正文

在C#和VB.NET中自动转换为字符串

如何解决《在C#和VB.NET中自动转换为字符串》经验,为你挑选了2个好方法。

我可以在C#中做到这一点..

int number = 2;
string str = "Hello " + number + " world";

..和str最终成为"Hello 2 world".

在VB.NET中,我可以这样做..

Dim number As Integer = 2
Dim str As String = "Hello " + number + " world"

..但是我得到一个InvalidCastException"从字符串转换"Hello"到'Double'类型无效."

我知道在这两种情况下都应该使用.ToString(),但是这里的代码是什么呢?



1> Jon Skeet..:

在VB中我相信字符串连接运算符是&而不是+所以试试这个:

Dim number As Integer = 2
Dim str As String = "Hello " & number & " world"

基本上当VB看到+我怀疑它尝试做数字加法或使用类型中定义的加法运算符(或者毫无疑问其他更复杂的东西,基于选项...)注意,System.String没有定义加法运算符 - 它全部隐藏在编译器中通过调用String.Concat.(这允许更有效地连接多个字符串.)



2> TheCodeJunki..:

Visual Basic中使得区分+&运营商.该&将使转换为字符串,如果表达式的值不是一个字符串.

&运算符(Visual Basic)

+运营商采用更复杂的评价逻辑,以确定哪些做最后撒入(例如它的影响之类的选项严格配置)

+运算符(Visual Basic)

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有