【发布时间】:2012-11-30 15:53:55
【问题描述】:
可能重复:
What does the tilde before a function name mean in C#?
What is the tilde (~) in the enum definition?
我知道“~”是用于 Finalzier 方法的,但现在我看到了一些像这样的 C# 代码:
if (~IsFieldDeleted(oRptField.GetLayoutField()) != 0)
{
oCollection.Add(oRptField, oRptField.ObjectKeyString);
// some more stuff
}
注意到第一行的“~”了吗?
然后如果我去实现 IsFieldDeleted 它是一个返回 int 的方法。
private int IsFieldDeleted(LayoutLib.LayoutField oLayoutField)
{
Collection oColl = GetFieldIdsForField(oLayoutField);
return (oColl.Count == 0) ? 1 : 0;
}
【问题讨论】:
-
你可以很容易地用谷歌搜索这个; msdn.microsoft.com/en-us/library/d2bd4x66%28v=vs.80%29.aspx
-
如果是按位取反,那么
~0和~1都不为零。 -
我认为这是按位否定。有点像
!,除了值中的每一位。
标签: c#