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

Enum上的位操作

如何解决《Enum上的位操作》经验,为你挑选了1个好方法。



1> Marc Gravell..:

实施是AFAIK,"所有这些" - 它使用:

((this.State & elementState) == elementState);

哪个是"全部".如果你想编写一个"any of",也许可以添加一个帮助方法:(之前添加"this" DataGridViewColumnCollection使其成为C#3.0扩展方法)

    public static DataGridViewColumn GetFirstColumnWithAny(
        DataGridViewColumnCollection columns, // optional "this"
        DataGridViewElementStates states)
    {
        foreach (DataGridViewColumn column in columns)
        {
            if ((column.State & states) != 0) return column;
        }
        return null;
    }

或者使用LINQ:

        return columns.Cast()
            .FirstOrDefault(col => (col.State & states) != 0);

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