gpt4 book ai didi

c# - 枚举的位操作

转载 作者:行者123 更新时间:2023-11-30 14:44:16 25 4
gpt4 key购买 nike

我遇到了以下问题:

  • 我想获取列集合的第一个可见且卡住的列。

我想这样就可以了:

DataGridViewColumnCollection dgv = myDataGridView.Columns;
dgv.GetFirstColumn(
DataGridViewElementStates.Visible | DataGridViewElementStates.Frozen);
  • 是否也可以制作一个位掩码来获得第一个卡住或可见的列?

最佳答案

据我所知,实现是“所有这些”——它使用:

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

这是“全部”。如果你想写一个“任何一个”,也许添加一个辅助方法:(在 DataGridViewColumnCollection 之前添加“this”,使其成为 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<DataGridViewColumn>()
.FirstOrDefault(col => (col.State & states) != 0);

关于c# - 枚举的位操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/684977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com