为什么~2等于-3?~操作员如何工作?
我总是感到惊讶的是,即使在现在使用C#之后,我仍然设法找到我不知道的事情......
我试过在网上搜索这个,但在搜索中使用"〜"对我来说效果不好,我在MSDN上也找不到任何东西(不是说它不存在)
我最近看到了这段代码,代字号(〜)是什么意思?
/// <summary>
/// Enumerates the ways a customer may purchase goods.
/// </summary>
[Flags]
public enum PurchaseMethod
{
All = ~0,
None = 0,
Cash = 1,
Check = 2,
CreditCard = 4
}
Run Code Online (Sandbox Code Playgroud)
我看到它有点惊讶所以我试图编译它,它有效...但我仍然不知道它意味着什么/做了什么.任何帮助?
我从C#下载了一个CRC代码片段,其中包含以下几行:
byte[] hashBuffer = UInt32ToBigEndianBytes(~hash);
Run Code Online (Sandbox Code Playgroud)
要么
public static UInt32 Compute(byte[] buffer)
{
return ~CalculateHash(InitializeTable(DefaultPolynomial), DefaultSeed, buffer, 0, buffer.Length);
}
Run Code Online (Sandbox Code Playgroud)