谁看过清华版的<Visual C#.NET技术内幕>一书? 书上第105页的代码我有些疑问,请高手不吝赐教!!!(30分)

  • 主题发起人 主题发起人 gywlily
  • 开始时间 开始时间
G

gywlily

Unregistered / Unconfirmed
GUEST, unregistred user!
代码一:
BattingAverage a;
BattingAverage b;
...
bool istrue = (a &amp;&amp;
b) ///////////////////////
代码二:
对于上面的////////一句,
编译器在后台将以如下方式合并true,false和&amp;运算符来对&amp;&amp;运算符求值(书中原话)
if (BattingAverage.false(a) != true)
return BattingAverage.true(BattingAverage.Operator&amp;(a, b));
else
return BattingAverage.true(a);
我已经重载了true,false和&amp;运算符,
但是编译提示"无法将类型“HelloWorld.BattingAverage”隐式转换为“bool”"
请问书上为什么这样写?
另外,假设a为非空引用,b为空引用,返回值又将为何值?
重载&amp;运算符:
public static BattingAverage operator &amp;(BattingAverage left, BattingAverage right)
{
if (left.Average() == 0 || right.Average() == 0)
return new BattingAverage();
else
retturn new BattingAverage(..., ...);
}
 
书没有看过,不过好像是
HelloWorld.BattingAverage不能隐士转换
 
有没有电子版的告诉个地址.
 
好像没有,
反正我没见过
 
后退
顶部