语言转换软件都是不可靠,甚至可能造成大的bug

今天看帮一个朋友看一段代码,他用到了一段C# 的代码,由于朋友只熟悉 vb.net ,所有找了一个翻译软件从 C# 翻译成了 vb.net

找了半天,问题就跟这么一句话有关系。

在 C# 中

None.gif              int  a,b,c;
None.gif            a
= b = c = 1 ;

呵呵,执行玩 a=b=c=1 以后,三个变量都是1 emsmile.gif ,这个问题其实有点弱智 emembarrassed.gif

然后到 VB.NET 中

None.gif          Dim  a, b, c  As   Integer
None.gif        a 
=  b  =  c  =   1

这个代码我随便问了3个朋友,大家都说跟 C# 是一样的。显然执行玩候都是 1,你认为呢?

其实结果不是这样的,执行了 a=b=c=1 这句话,你会发现 abc更本没有变,仍然是 0。仔细看一下原因很简单,hh
vb.net 中 = 既可以当赋值运算符 又可以当逻辑运算符,这里是逻辑运算符。

bug 就跟这个有关系 emteeth.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值