谁知道 |= 这个是用来做什么的?什么功能?bool bMappingOk ; bMappingOk = DtApi.Debug.DTMapComponentEx(hDeduper, 1, DtApi.Debug.MP_ZIP9);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 2, DtApi.Debug.MP_LAST);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 3, DtApi.Debug.MP_FIRST);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 4, DtApi.Debug.MP_ADDR);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 2, DtApi.Debug.MP_LAST);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 3, DtApi.Debug.MP_FIRST);
bMappingOk |= DtApi.Debug.DTMapComponentEx(hDeduper, 4, DtApi.Debug.MP_ADDR);
相当于x = x | y
是或赋值
bMappingOk = bMappingOk |DtApi.Debug.DTMapComponentEx(hDeduper, 2, DtApi.Debug.MP_LAST); |代表或
比如DtApi.Debug.DTMapComponentEx(hDeduper, 2, DtApi.Debug.MP_LAST); 返回true
那么bMappingOk =false;
a|=b;
等价于a=a|b;
bool b = true;
b |= false;那么b就等于True
"x |= y
相当于x = x | y "
C#里面一般是数值运算或者枚举可以用这个.
bool a = true;
bool b = false;
a |= b;
Console.WriteLine("result:" +a);
Reflector反编译结果是(当然下面的结果在C#中编译不过)
public static void Main()
{
bool flag;
bool flag2;
flag = 1;
flag2 = 0;
flag |= flag2;
Console.WriteLine("result:" + ((bool) flag));
return;
}