smart way to detect if System.Boolean true or false
-
I've just found an "excellent" way to detect if boolean value is true or not in C#. Just great! Important, "value" variable is
System.Boolean
.string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else { PDFIncludeWatermark\_ = "false"; }
I'm not sure I trust computers that much. Can I suggest an improvement?
string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else if (valueStr.Equals("false", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "false"; } else { PDFIncludeWatermark\_ = "maybe"; }
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
I'm not sure I trust computers that much. Can I suggest an improvement?
string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else if (valueStr.Equals("false", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "false"; } else { PDFIncludeWatermark\_ = "maybe"; }
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
You're right, never, never rely on compiler. Damn machines :) If you need a job done, do it yourself.
-
You're right, never, never rely on compiler. Damn machines :) If you need a job done, do it yourself.
Oh, I trust the compiler. It's reality I don't trust.:~
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
I've just found an "excellent" way to detect if boolean value is true or not in C#. Just great! Important, "value" variable is
System.Boolean
.string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else { PDFIncludeWatermark\_ = "false"; }
Happy debugging! Internationalization will make you happy. I experienced that a long time ago. See also my message in the Hall of Shame: http://www.codeproject.com/feature/HallOfSHame.aspx?msg=3432553#xx3432553xx[^]
-
I'm not sure I trust computers that much. Can I suggest an improvement?
string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else if (valueStr.Equals("false", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "false"; } else { PDFIncludeWatermark\_ = "maybe"; }
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
The else section should return "filenotfound" I believe! ;P
else
{
PDFIncludeWatermark_ = "filenotfound";
}FTFY :-D
I disagree: the concepts of truth and falsehood do not have anything to do with file systems! However, in the real world I doubt the existence of "absolute truth" and "absolute falsehood" so a "maybe" response seems reasonable... :laugh:
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
I disagree: the concepts of truth and falsehood do not have anything to do with file systems! However, in the real world I doubt the existence of "absolute truth" and "absolute falsehood" so a "maybe" response seems reasonable... :laugh:
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
eheh, you are right. Anyway, I was just quoting one of the most famous WTF: http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx[^] :D
Not seen that before - thanks!
Real men don't use instructions. They are only the manufacturers opinion on how to put the thing together. Manfred R. Bihy: "Looks as if OP is learning resistant."
-
The else section should return "filenotfound" I believe! ;P
else
{
PDFIncludeWatermark_ = "filenotfound";
}FTFY :-D
Dang! Beat me to it. Marking it as "news" is pretty hilarious.
-
I've just found an "excellent" way to detect if boolean value is true or not in C#. Just great! Important, "value" variable is
System.Boolean
.string valueStr = value.ToString(); if (valueStr.Equals("true", StringComparison.CurrentCultureIgnoreCase)) { PDFIncludeWatermark\_ = "true"; } else { PDFIncludeWatermark\_ = "false"; }
Dear VUnreal, Please find below a simplified code segment that may help you in achieving your code in one line using a helper class. please feel free to add additional checks and safeguards, and rewrite the helper as an extension to the string class.
string valueStr = value.ToString();
TruthChecker tc=new TruthChecker();
// now notice how simple: we do not use 'if', just call our helper once:
PDFIncludeWatermark_ = tc.CheckIfTrue();class TruthChecker { private static List<string> \_truths = null; // static - optimaze time as the calculation is only done if needed and even so , only once! List<string> Truths { get { return \_truths!=null ? \_truths : (\_truths = FindAllTruths() ); } } TruthChecker() { } private static List<string> FindAllTruths() { List<string> allTruths = new List<string>(); char\[\] t = {'t','r','u','e'}; for(int i=0;i<Math.Pow(2,t.Length); i++) { StringBuilder sb = new StringBuilder(); for(int j=0; j<t.Length; j++) { int k = (i>>j)&1; sb.Append(t\[j\]+('A'-'a')\*k); } allTruths.Add(sb.ToString()); } return allTruths; } public string CheckIfTrue(string tru) { try { var v = from t in Truths where t == tru select t; if (v.ElementAt(0).ToString().Length == "true".Length) { return "true"; } } catch (Exception ex) { tru = ex.Message; } return "false"; } }
Please visit IOCCC.org to learn more about useful coding techniques.
-
:laugh: haha, what a joke! You could make this so much simpler by just having...
PDFIncludeWatermark_ = value.ToString().ToLowerInvarient().Contains("true") ? "true" : "false";
I may or may not be responsible for my own actions