我正在使用NAudio包在C#中进行一些基本的音频编程,我遇到了以下表达式,我不知道这意味着什么,因为我从未见过之前使用的<<运算符.那么<<是什么意思呢?
请快速解释一下这个表达方式.
short sample = (short)((buffer[index + 1] << 8) | buffer[index + 0]);
Run Code Online (Sandbox Code Playgroud) 我有一个C++头文件,其中包含以下定义:
#define CACHE_NUM_WAYS (1<<1)
#define CACHE_DATA_SIZE (1<<8)
Run Code Online (Sandbox Code Playgroud)
它在其余代码中用作整数.
这是什么意思?它的价值是什么?
我理解Enums如何在C#中工作,我得到了Flags属性带给表的内容.
我在这里看到了这个问题.推荐第一种口味,但没有提供任何理由/理由.
这两个定义的方式有什么不同,一个比另一个好吗?使用第一个synax代替第二个synax有什么好处?在定义Flags类型Enums时,我总是使用第二种风格......我一直都在做错吗?
[Serializable]
[Flags]
public enum SiteRoles
{
User = 1 << 0,
Admin = 1 << 1,
Helpdesk = 1 << 2
}
Run Code Online (Sandbox Code Playgroud)
那是不一样的
[Serializable]
[Flags]
public enum SiteRoles
{
User = 1,
Admin = 2,
Helpdesk = 4
}
Run Code Online (Sandbox Code Playgroud)