本帖最后由 于振发 于 2013-9-26 17:09 编辑
using System;
partial class Test
{
int num1, num2, num3;
public Test(int i, int j, int z)
{
num1 = i;
num2 = j;
num3 = z;
}
public static bool operator true(Test op)
{
if (op.num1 != 0 || op.num2 != 0 || op.num3 != 0)
{
return true;
}
else
{
return false;
}
}
public static bool operator false(Test op)
{
if ((op.num1 == 0) && (op.num2 == 0) && (op.num3 == 0))
{
return true; //为什么这里的true 换成 false 对结果一点都没有影响呢?
}
else
{
return false; // 这里也是一样,换成 true 也没有影响结果?
}
}
public static Test operator --(Test op)
{
op.num1--;
op.num2--;
op.num3--;
return op;
}
public void show()
{
Console.WriteLine("{0} {1} {2}", num1, num2, num3);
}
}
class me
{
static void Main()
{
Test obj1 = new Test(10, 10, 10);
while (obj1)
{
obj1.show();
obj1--;
//Console.WriteLine("obj1 is a ");
}
}
}
问题就在注释中,还望指教
|