请问一下,以下代码怎么能通过编译呢?
X和Y,A.X,B.Y都没有赋值初始值过,怎么不报错而默认A.X是0呢?奇怪阿
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
public static int Y = A.X + 1;
static void Main()
{
Console.WriteLine( "X={0},Y={1} ", A.X, B.Y);
}
}
class A
{
public static int X;
static A()
{
X = B.Y + 1;
}
}
class B
{
public static int Y = A.X + 1;
static B() { }
}
}
------解决方案--------------------int型默认值是0
------解决方案--------------------这题目好老
------解决方案--------------------你不给它赋值的话系统会给它默认值的!
------解决方案--------------------老兄,劝你先看看C#基础教程。特别是 值类型 与 引用类型。