问个很菜的基础问题.
public bool Func(int Value, int a)
{
return ((Value & a) == Value);
}
这个是什么意思?返回的是什么啊?
还有:
public int Func(DataRow dr)
{
int num = 0;
if (null == dr)
{
return 0;
}
num += (dr[ "x "]) == 1) ? 1 : 0;
num += (dr[ "b "]) == 1) ? 2 : 0;
return (num + (dr[ "c "]) == 1) ? 800 : 0);
}
这里面
num += (dr[ "ExecNew "]) == 1) ? 1 : 0;是什么意思啊?
------解决方案--------------------if(dr[ "ExecNew "]==1)
{
num = num +1;
}
else
{
num =num +0;
}
------解决方案--------------------Value & a
计算 Value 和 a 逻辑按位“与”
返回一个bool 值 true or false
num += (dr[ "ExecNew "]) == 1) ? 1 : 0;
(dr[ "ExecNew "]) == 1) ? 1 : 0
三元运算
如果dr[ "ExecNew "]的值为1 则num 加1 否则num 加0
------解决方案--------------------第一个问题是按位与,value与a按位与后的值如果等于value则返回true,否则返回false.
第二个问题num += (dr[ "ExecNew "]) == 1) ? 1 : 0;
dr[ "ExecNew "]是数据行中的一个值,不过其函数内容你可不可以再重新发进来,好像和里面的内容又不相同了啊!
------解决方案--------------------return ((Value & a) == Value)意思是:如果value和a按位与之后等于value吗(true或false)?
num += (dr[ "ExecNew "]) == 1) ? 1 : 0意思是:如果dr[ "ExecNew "]的值等于1,则num=num+1,不等于则num=num+0;