![]() |
1
7
您可以将6个bool选项表示为带有 FlagsAttribute ,并依赖于枚举名称的可读性。 编辑,例如:
|
![]() |
2
3
这是一个古老的问题,我回答了这个问题,但由于我自己在寻找解决方案时遇到了这个问题,所以我现在就来回答这个问题。
简单说明:funcs提供了接受每列的值并将其转换为bools。然后,简单循环查找第一个正确的匹配项并返回其结果值或返回指定的默认值。如果输入与该行匹配,则每个.row调用中的最后一个值是结果。 当然,这个解决方案是针对4个通用参数的,但是为多于或少于这个的参数编写表是很简单的。此外,上面的简单例子使用值提取器的bool-to-bool映射,但在现实世界中,它可能需要接受其他类型的对象,并将其转换为该列的bool输入值。 这是类型足够安全和良好的我的需要,希望它也帮助别人。 |
![]() |
3
1
最简单的方法:
首选的方法是使用位掩码。 |
![]() |
4
0
可以使用 FlagsAttribute ,这可能使您的代码更容易阅读,但您必须组成64个名称! |
![]() |
5
0
使用位掩码创建int并将值存储在常规哈希中?
IE:
然后hash[0]=“a”等等 |
![]() |
6
0
如果将六个booleans to string函数封装到一个单独的类中,那么无论实现细节如何,代码的可读性都会得到轻微的提高。而且,实现可以根据出现的性能需求进行更改。 (我要编一个名字来说明。)
所以我认为位图字节是实现的一个很好的第一步。 |
![]() |
7
0
您可以将bool选项表示为字符串,例如
(如果您希望让用户更改映射,这可能是一个不错的选择,因为从文件中读取字符串很容易) 但是,如果您要经常使用它们,请根据Luke_窆的答案使用Flags枚举。 |
![]() |
danial · 如何在多个字符串的每个位置找到最频繁的字符 2 年前 |
![]() |
Manny · 如何比较Perl中的字符串? 2 年前 |
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |