首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitVector32 -第一位真

BitVector32 -第一位真
EN

Stack Overflow用户
提问于 2012-12-03 23:58:06
回答 1查看 598关注 0票数 2

我对BitVector32的行为有点迷惑。请参阅测试:

代码语言:javascript
复制
[TestClass]
public class ParallelPortDevices {
    [TestMethod]
    public void BitVector32Test() {
        var lVector = new BitVector32(0);

        Assert.IsTrue(lVector[0]);
        Assert.IsFalse(lVector[1]);
    }
}

这就过去了。即第一位被设置为1(根据测试)。但是,如果运行ToString方法,您将获得"BitVector32{00000000000000000000000000000000}“

我遗漏了什么吗?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 00:09:22

BitVector32不使用索引的索引器语法,它使用它作为位掩码。例如,如果您要执行以下操作:

代码语言:javascript
复制
lVector[7] = true;

ToString会给0...000111

getter的反编译代码如下所示:

代码语言:javascript
复制
return ((long) this.data & (long) bit) == (long) (uint) bit;

所以最终会发生这样的事情:

代码语言:javascript
复制
(0 & 0) == 0

当然,这是真的。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13686968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档