gpt4 book ai didi

c# - 如何使用 DebuggerDisplay 属性表示位掩码

转载 作者:太空宇宙 更新时间:2023-11-03 11:27:14 25 4
gpt4 key购买 nike

我有一个包含 8 个 bool 值的类,我想在调试器中将这些 bool 值表示为 1 或 0,我该如何实现?

最佳答案

你可以创建一个简单的辅助方法:

private string GetBitMask(params bool[] values)
{
var sb = new StringBuilder();
foreach (var value in values)
{
sb.Append(value ? "1" : "0");
}
return sb.ToString();
}

然后像这样使用它:

[DebuggerDisplay("{GetBitMask(flag1, flag8)}")]
public class YouClass
{
private bool flag1;
// ...
private bool flag8;
}

或者,如果您有一个 bool 数组:

[DebuggerDisplay("{GetBitMask(flags)}")]
public class YouClass
{
private bool[] flags;
// ...
}

编辑:如果您不能/不想修改原始类,则将 GetBitMask() 移动到某个实用程序类,使其成为 static 并在任何你想要的地方使用它:

[DebuggerDisplay("{Utils.GetBitMask(flags)}")]

关于c# - 如何使用 DebuggerDisplay 属性表示位掩码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8940408/

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