What do two left-angle brackets “<<” mean in C#?

前端 未结 15 2033
长情又很酷
长情又很酷 2020-12-12 13:55

Basically the questions in the title. I\'m looking at the MVC 2 source code:

[Flags]
public enum HttpVerbs {
    Get = 1 << 0,
    Post = 1 << 1,         


        
15条回答
  •  盖世英雄少女心
    2020-12-12 14:03

    I know this answer is pretty much solved, but I thought the visualization might help someone.

    [Fact] public void Bit_shift_left()
    {
        Assert.Equal(Convert.ToInt32("0001", 2), 1 << 0); // 1
        Assert.Equal(Convert.ToInt32("0010", 2), 1 << 1); // 2
        Assert.Equal(Convert.ToInt32("0100", 2), 1 << 2); // 4
        Assert.Equal(Convert.ToInt32("1000", 2), 1 << 3); // 8
    }
    

提交回复
热议问题