VB中&和+何时不等价
4个回答
展开全部
在VB中,& 表示字符串连接操作; + 多用于数学运算(加法),也能用于字符串连接。
当操作符是 & 的时候,如果被操作的数据不是String类型,则按规则首先转换为String类型,
再进行字符串连接的操作。
但当操作符是 + 的时候,问题就稍微复杂些了:
⑴如果被操作数据两个都是 String类型,则进行字符串连接的操作(与用&一样)。
⑵如果被操作数据,任意一个不是String类型的,则都首先按规则转换为对应的数值数据,
再进行“加法运算”。当任意一个数据不能被转换为数值时,就出现“类型不匹配”的异常!
因些,对表示字符串连接操作运算,应该采用 & ,而不要用 + !
(我认为这是好习惯,既明确目的,也不会引起歧义)
因此结论应该是:只有当两个操作数据都是String类型时,+和& 等价;否则,就不等价。
当操作符是 & 的时候,如果被操作的数据不是String类型,则按规则首先转换为String类型,
再进行字符串连接的操作。
但当操作符是 + 的时候,问题就稍微复杂些了:
⑴如果被操作数据两个都是 String类型,则进行字符串连接的操作(与用&一样)。
⑵如果被操作数据,任意一个不是String类型的,则都首先按规则转换为对应的数值数据,
再进行“加法运算”。当任意一个数据不能被转换为数值时,就出现“类型不匹配”的异常!
因些,对表示字符串连接操作运算,应该采用 & ,而不要用 + !
(我认为这是好习惯,既明确目的,也不会引起歧义)
因此结论应该是:只有当两个操作数据都是String类型时,+和& 等价;否则,就不等价。
展开全部
等价? 是说什么情况下功能不一样吗?
如果是一个字符串的话,他们功能相同。
比如:"aaa"+"bbb"和"aaa" & "bbb" 结果都是“aaabbb"
如果是一个数字的话,功能就不相同
比如:123 & 234的结果是123234 ,而123+234的结果是357
如果是一个字符串的话,他们功能相同。
比如:"aaa"+"bbb"和"aaa" & "bbb" 结果都是“aaabbb"
如果是一个数字的话,功能就不相同
比如:123 & 234的结果是123234 ,而123+234的结果是357
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只要其中有 任何 一个东西是数字或什么的,那就不等价。
如果都是字符串就不行
如果都是字符串就不行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
做运算不等价,做字符连接时等价
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询