Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Other Discussions
  3. The Weird and The Wonderful
  4. smart way to detect if System.Boolean true or false

smart way to detect if System.Boolean true or false

Scheduled Pinned Locked Moved The Weird and The Wonderful
csharp
19 Posts 11 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Vladimir Svyatski

    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";
                }
    
    OriginalGriffO Offline
    OriginalGriffO Offline
    OriginalGriff
    wrote on last edited by
    #9

    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 have no idea what I did, but I'm taking full credit for it." - ThisOldTony
    "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

    V T 2 Replies Last reply
    0
    • OriginalGriffO OriginalGriff

      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."

      V Offline
      V Offline
      Vladimir Svyatski
      wrote on last edited by
      #10

      You're right, never, never rely on compiler. Damn machines :) If you need a job done, do it yourself.

      OriginalGriffO 1 Reply Last reply
      0
      • V Vladimir Svyatski

        You're right, never, never rely on compiler. Damn machines :) If you need a job done, do it yourself.

        OriginalGriffO Offline
        OriginalGriffO Offline
        OriginalGriff
        wrote on last edited by
        #11

        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 have no idea what I did, but I'm taking full credit for it." - ThisOldTony
        "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

        1 Reply Last reply
        0
        • V Vladimir Svyatski

          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";
                      }
          
          B Offline
          B Offline
          Bernhard Hiller
          wrote on last edited by
          #12

          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[^]

          1 Reply Last reply
          0
          • OriginalGriffO OriginalGriff

            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."

            T Offline
            T Offline
            Tallmaris
            wrote on last edited by
            #13

            The else section should return "filenotfound" I believe! ;P

            else
            {
            PDFIncludeWatermark_ = "filenotfound";
            }

            FTFY :-D

            OriginalGriffO R 2 Replies Last reply
            0
            • T Tallmaris

              The else section should return "filenotfound" I believe! ;P

              else
              {
              PDFIncludeWatermark_ = "filenotfound";
              }

              FTFY :-D

              OriginalGriffO Offline
              OriginalGriffO Offline
              OriginalGriff
              wrote on last edited by
              #14

              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 have no idea what I did, but I'm taking full credit for it." - ThisOldTony
              "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

              T 1 Reply Last reply
              0
              • OriginalGriffO OriginalGriff

                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."

                T Offline
                T Offline
                Tallmaris
                wrote on last edited by
                #15

                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

                OriginalGriffO 1 Reply Last reply
                0
                • T Tallmaris

                  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

                  OriginalGriffO Offline
                  OriginalGriffO Offline
                  OriginalGriff
                  wrote on last edited by
                  #16

                  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."

                  "I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
                  "Common sense is so rare these days, it should be classified as a super power" - Random T-shirt

                  1 Reply Last reply
                  0
                  • T Tallmaris

                    The else section should return "filenotfound" I believe! ;P

                    else
                    {
                    PDFIncludeWatermark_ = "filenotfound";
                    }

                    FTFY :-D

                    R Offline
                    R Offline
                    Rick Shaub
                    wrote on last edited by
                    #17

                    Dang! Beat me to it. Marking it as "news" is pretty hilarious.

                    1 Reply Last reply
                    0
                    • V Vladimir Svyatski

                      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";
                                  }
                      
                      B Offline
                      B Offline
                      Baruch23
                      wrote on last edited by
                      #18

                      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.

                      1 Reply Last reply
                      0
                      • M musefan

                        :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

                        R Offline
                        R Offline
                        R Erasmus
                        wrote on last edited by
                        #19

                        depends what type of programming style you're into. Some might find the mentioned method easier/simpler to read/understand.

                        "Program testing can be used to show the presence of bugs, but never to show their absence." << please vote!! >>

                        1 Reply Last reply
                        0
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        • Login

                        • Don't have an account? Register

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • World
                        • Users
                        • Groups