montaque

小碗喝酒,小口吃肉

博客园 首页 新随笔 联系 订阅 管理

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

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

在 C# 中

            int a,b,c;
            a
=b=c=1;

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

然后到 VB.NET 中

        Dim a, b, c As Integer
        a 
= b = c = 1

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

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

bug 就跟这个有关系
posted on 2004-12-03 10:13  montaque  阅读(2676)  评论(14编辑  收藏  举报