草庐IT

c# - 将 Y 或 N 转换为 bool C#

为了整洁起见,我想知道是否可以将Y或N转换为bool值?像这样的东西;booltheanswer=Convert.ToBoolean(input);长版;booltheanswer=false;switch(input){case"y":theanswer=true;break;case"n":theanswer=false;break} 最佳答案 不,没有为此内置任何内容。但是,如果您想默认为false,您可以使用:booltheAnswer=(input=="y");(此处的括号只是为了清楚起见。)考虑到您的问题文本和您获得的代

c# - 在 C# 中使用 if (!bool) 与 if (bool == false)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。对于以下两种编码风格是否有某种风格共识?我更好奇的是,这是否是C#中好的代码通常首选的那种东西,或者这是否是在为编码项目选择样式时决定的那种东西。样式1:使用!符号表示不是有条件的if(!myBool){//DoStuff...}样式2:使用==false来指示在条件语句中检查是否为假if(myBool==false){//DoStuff...}谢谢!

c# - 如何将 Func<T, bool> 转换为 Predicate<T>?

是的,我见过this但我找不到我的具体问题的答案。给定一个接受T并返回一个bool值的lambdatestLambda(我可以让它成为Predicate或Func,这取决于我)我需要能够同时使用List.FindIndex(testLambda)(采用谓词)和List.Where(testLambda)(采用Func)。有什么想法可以同时做到这两点吗? 最佳答案 简单:Funcfunc=x=>x.Length>5;Predicatepredicate=newPredicate(func);基本上,您可以使用任何兼容现有实例创建一个新

c# - 将整个 bool[] 设置为 false

这个问题在这里已经有了答案:WhatistheequivalentofmemsetinC#?(16个答案)关闭8年前。我已经知道下面的循环示例bool[]switches=newbool[20];for(inti=0;i但是是否有更有效的方法将整个数组设置为false?为了解释一下,我没有像上面的示例那样将新的bool数组设置为false,因为它本来就已经是false。在我的例子中,我正在读取进程内存的很大一部分,它在搜索模式时最多可能触发大约18724次。当它确定当前字节不包含该模式时,它会将整个bool数组以及其他一些内容设置为false,然后读取下一个内存块并重新启动循环。虽然我

c# - Convert.ToDateTime(bool) 的意义何在?

昨晚我正在为我正在处理的系统做一些类型转换例程。其中一项转换涉及将字符串值转换为其DateTime等价物。在执行此操作时,我注意到Convert.ToDateTime()方法有一个接受bool参数的重载。第一个问题?这在什么情况下有用?我更进一步,尝试在QuickWatch中执行该方法。无论哪种方式(true或false),例程都会返回InvalidCastException。第二个问题?为什么这个方法在这里?编辑谢谢大家的回答。从契约(Contract)的角度来看,我可以看出它有何意义,但核心框架包含以下方法似乎确实很奇怪:-永远无法工作更糟糕的是,当有人试图调用它时实际上会抛出异常

c# - 为什么 "Func<bool> test = value ? F: F"不编译?

我看到过类似的问题,但是它们涉及不同的类型,所以我认为这是一个新问题。考虑以下代码:publicvoidTest(boolvalue){//Thefollowinglineprovokesacompilererror://"Typeofconditionalexpressioncannotbedeterminedbecausethereis//noimplicitconversionbetween'methodgroup'and'methodgroup".Functest=value?F:F;}publicboolF(){returnfalse;}现在,根据C#3.0标准,Thesec

c# - 使用数据注释强制模型的 bool 值为真

这里是一个简单的问题(我认为)。我有一个表单,底部有一个复选框,用户必须同意其中的条款和条件。如果用户不选中该框,我希望在我的验证摘要中显示一条错误消息以及其他表单错误。我将其添加到我的View模型中:[Required][Range(1,1,ErrorMessage="YoumustagreetotheTermsandConditions")]publicboolAgreeTerms{get;set;}但这没有用。有没有一种简单的方法可以通过数据注释强制一个值为真? 最佳答案 usingSystem.Collections.Gen

c# - 将 NULL 值分配给 bool 变量

我正在尝试将null值分配给bool变量,但它没有接受它boolb=null; 最佳答案 您需要使用nullablebool值:bool?b=null; 关于c#-将NULL值分配给bool变量,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/5362437/

c# - 这个(volatile bool)总是线程安全的吗?

我想知道这是否是完全线程安全的,以及是否应该使用volatile关键字。usingSystem.Threading;classProgram{privatestaticvolatilebool_restart=true;privatestaticvoidMain(){while(_restart){//Dostuffhereeverytimeforaslongas_restartistrueThread.Sleep(1);}}privatestaticvoidSomeOtherThread(){Thread.Sleep(1000);_restart=false;}}我想是的,但我想仔细

c# - 为什么 Bool 数据类型的大小在 C# 中不是只有 1 位?

我正在学习C#并深入研究数据类型。为什么bool数据类型的大小不是1位?它似乎只能保存两个值(true或false)中的一个,那岂不是只占用1位空间来表示该值?是否因为值的最小“可寻址”大小是thispost中提到的一个字节(8位)?我的总体目标是在逻辑上设想C#中每种数据类型的不同大小,因此我试图创建一个包含所有数据类型及其分配的位大小的列表,这让我很吃惊。 最佳答案 Isitbecausethesmallest'addressable'sizeofavalueisabyte是的,完全一样。为了使CLR高效,它将其数据类型映射到n