C# C中的~字符是用来做什么的#
我今天遇到了这段代码:C# C中的~字符是用来做什么的#,c#,C#,我今天遇到了这段代码: File.SetAttributes(excelFileName, File.GetAttributes(excelFileName) & ~ (FileAttributes.Archive | FileAttributes.ReadOnly)); 以前从没见过。有人知道吗? ~运算符对其操作数执行逐位补码运算,其效果是反转每一位。按位补码运算符是为int、uint、long和ulong预定义的 “C#中使用的~字符是什么?
File.SetAttributes(excelFileName, File.GetAttributes(excelFileName) & ~
(FileAttributes.Archive | FileAttributes.ReadOnly));
以前从没见过。有人知道吗?
~运算符对其操作数执行逐位补码运算,其效果是反转每一位。按位补码运算符是为int、uint、long和ulong预定义的
“C#中使用的~字符是什么?”
对于info,~还用于(在不同的上下文中)表示析构函数/终结器:
class Person {
public Person() {...} // constructor
~Person() {...} // destructor
}
请注意,您很少需要析构函数;通常仅当您的类型直接包装非托管资源(操作系统句柄等)时才使用。您通常会在种子初始化中看到这一点:
Random randomGen = new Random(~(int)DateTime.Now.Ticks);
Random otherGen = new Random((int)DateTime.Now.Ticks);
即使这些大致发生在同一个“蜱虫”中,它们也会被播种两种不同的种子