解析为布尔值或检查字符串值如果我有一个从数据库中提取true或false字符串的变量,检查其值的首选方法是什么?字符串值=“假”;if(Boolean.Parse(value)){DoStuff();我知道有不同的方法来解析bool-这是一个例子stringvalue="false";if(value=="true"){DoStuff();我以字符串格式从DB中提取了很多true/false值,想知道这些方法是否会产生任何性能差异?使用Boolean.TryParse:stringvalue="false";布尔解析值;if(Boolean.TryParse(value,outparsedValue)){if(parsedValue){//做一些事情}else{//做其他事情}}else{//无法解析}我在这里看到的唯一问题是C#确实区分大小写的比较,因此如果数据库值为“True”(值==“true”)则返回false。但是看Boolean.Parse方法的例子string[]values={null,String.Empty,"True","False","true","false","true","0","1","-1","字符串"};foreach(varvalueinvalues){try{boolflag=Boolean.Parse(value);Console.WriteLine("'{0}'-->{1}",value,flag);}catch(ArgumentException){Console.WriteLine("无法解析空字符串。");}catch(FormatException){Console.WriteLine("无法解析'{0}'。",value);}}//该示例显示以下输出://无法解析空字符串。//无法解析''。//'True'-->True//'False'-->False//'true'-->True//'false'-->False//'true'-->True//无法解析'0'。//无法解析'1'。//无法解析'-1'。//无法解析“字符串”。Bool.Parse似乎有点健壮。我总是会解析它——你的应用程序应该对无效值有效(即使你“知道”你的数据库总是有效的):boolmyVal;如果(!Boolean.TryParse(value,outmyVal)){thrownewInvalidCastException(...);//或者做其他事情}当然,使用Boolean.TryParse(),您将避免可能弹出的区分大小写的问题。如果您知道字符串将是有效的“true”或“false”字符串,则首选方法。否则,您可以在需要性能时使用Boolean.TryParse,没有解析的版本可能更快。但正如其他人所建议的那样,我也更喜欢解析的解决方案。stringvalue="yourtext"booloutresult=false;布尔结果=假;resultado=bool.TryParse(value,outoutresult);如果无法返回变量outresult值,try解析函数将尝试将字符串的值转换为布尔值。以上就是C#学习教程:解析为布尔值或检查字符串值分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
