• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

C# and logical operators and uints

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    C# and logical operators and uints

    I have an api call to createfile and want to pass the following

    blah = CreateFile(DRIVER_NAME,GENERIC_READ | GENERIC_WRITE .....

    the constants are declared as uints but at compile time I get

    Operator '|' cannot be applied to operands of type 'uint'

    fair enough, so what type should I use? Or is there a C# way of doing this.

    C# is suppoooooooosed to be a c based language but I have run into difficulties.
    Knock first as I might be balancing my chakras.

    #2
    You could use +

    I'm sure I've done bitfields with C#, but I can't remember how. Or maybe you need to put it into "unsafe" mode.
    Will work inside IR35. Or for food.

    Comment


      #3
      Originally posted by VectraMan View Post
      You could use +

      I'm sure I've done bitfields with C#, but I can't remember how. Or maybe you need to put it into "unsafe" mode.
      <zohanmode>
      I feel so schtooopid
      </zohanmode>

      Spot on VM.
      Knock first as I might be balancing my chakras.

      Comment


        #4
        + works in this case but what if you wanted AND or XOR? C# is not a C-based language, but it does have C-like syntax so I also would have tried what you did. I suggest it's worth finding out for the future.
        Originally posted by MaryPoppins
        I'd still not breastfeed a nazi
        Originally posted by vetran
        Urine is quite nourishing

        Comment


          #5
          The |, ^ and & operators work just fine with uints as per the msdn documentation on C# operators.

          uint a = 100;
          uint b = 1;

          Console.WriteLine(a | b); // displays 101 as expected.

          Comment


            #6
            SY01, what silly error have you made?
            Originally posted by MaryPoppins
            I'd still not breastfeed a nazi
            Originally posted by vetran
            Urine is quite nourishing

            Comment

            Working...
            X