Tag: 布尔值

bool *在C#中的用处

我可以用任何有意义的方式使用bool* 。 我如何将bool*转换为例如一个byte ,或者将bool*存储在一个字节中 我的目标是在我的项目中管理自己的记忆,细节并不重要,只是喜欢做的事情。 现在我希望能够存储我自己的变量,我碰巧需要存储一个布尔值。 我如何使用unsafe和byte*存储这个布尔值,并最好地利用我的空间? 理想情况下,在字节中存储4位。

将布尔数组转换为hex数

有没有一种简单的方法可以将布尔值数组转换为8位hex等效值? 例如,如果我有 bool[] BoolArray = new bool[] { true,false,true,true,false,false,false,true }; 如果true值= 1且false值= 0,那么我想要一个将上面的数组转换为0xB1(10110001)的方法或函数。 是否存在这样的function或方法? 顺便说一句,我正在使用C#。

解析为布尔值或检查字符串值

如果我有一个从DB中提取true或false字符串的变量, 哪个是检查其价值的首选方式? string value = “false”; if(Boolean.Parse(value)){ DoStuff(); } 我知道解析bool有不同的方法 – 这是一个例子 要么 string value = “false”; if(value == “true”){ DoStuff(); } 我正在以string格式从DB中提取大量的真/假值,并想知道这些方法是否会产生任何性能差异?

Xml序列化与“真”和“假”

我遇到了使用布尔值反序列化XML文件的问题。 我正在反序列化的源XML文件是从VB6应用程序创建的,其中所有布尔值都是大写的( True , False )。 当我尝试反序列化XML时,我得到了一个 System.FormatException: The string ‘False’ is not a valid Boolean value. 有没有办法说用属性忽略大小写?

如何让XmlSerializer将bool编码为是/否?

我将xml发送到另一个程序,它希望布尔标志为“是”或“否”,而不是“真”或“假”。 我有一个类定义如下: [XmlRoot()] public class Foo { public bool Bar { get; set; } } 当我序列化它时,我的输出如下所示: true 但我希望它是这样的: yes 我可以在序列化时这样做吗? 我宁愿不必诉诸于此: [XmlRoot()] public class Foo { [XmlIgnore()] public bool Bar { get; set; } [XmlElement(“Bar”)] public string BarXml { get { return (Bar) ? “yes” : “no”; } } } 请注意,我还希望能够再次反序列化此数据。

C#可以在String值中进行比较,返回布尔值。 例如。 “5 <10”返回true

有没有办法在字符串值中进行比较可以返回Boolean值。 例。 如果(5> 5000)显然会返回错误值。 但我想做的是让“5> 5000”返回假值。 例。 string com = “5 > 10”; 那么有没有办法让这个com变量返回一个false值,就像它是整数之间的比较一样。

C#中的原始布尔大小

C#中的布尔变量如何存储在内存中? 也就是说,它们是作为一个字节存储而其他7位是否被浪费,或者,在数组的情况下,它们是否被分组为1字节的布尔块? 这回答了关于Java的相同问题( 为什么没有定义Java的布尔基元大小? )。 Java和C#在这方面是一样的吗?