下面几个例子考考大家来看看输出什么结果

这几个是考察个人逻辑思维的,所以希望大家不要再电脑上敲,直接用大脑思考!

第一个例子:

class A

{

  public static int x =3;

  static A()

  {

    x = B.y +1;

  }

}

class B

{

  public static int y = A.x +1;

  static B()

  {

    y=1;

  }

  public static void Main()

  {

    Console.WriteLine("{0},{1}",A.x,B.y);

    Console.Read();

  }

}

 

第二个例子:

class A

{

  private string str = "class A str";

  private int i =0 ;

  static void StringConvert(string str)

  {

    str = "string being converted";

  }

  static void StringConvert(A a)

  {

    a.str = "stirng be converted";

  }

  static void Add(int i)

  {

    i ++;

  }

  static void AddWithRef(ref int i)

  {

    i ++;

  }

  static void Main()

  {

    int i1 = 10;

    int i2 = 20;

    string str = "str";

    A a = new A();

    Add(i1);

    AddWithRef(ref i2);

    Add(c.i);

    StringConvert(str);  

    StringConvert(a);

    Console.WriteLine(i1);

    Console.WriteLine(i2);

    Console.WriteLine(a.i);

    Console.WriteLine(str);

    Console.WriteLine(a.str);

    Console.Read();

  }

}

 

第三个例子:

public abstract class A

{

  public A()

  {

    Console.WriteLine("A");

  }

  public virtual void Fun()

  {

    Console.WriteLine("A.Fun()");

  }

}

public class B : A

{

  public B()

  {

    Console.WriteLine("B");

  }

  public new void Fun()

  {

    Console.WriteLine("B.Fun()");

  }

  public static void Main()

  {

    A a = new B();

    a.Fun();

    Console.Read();

  }

}

 

第四个例子:

public class A

{

  public virtual void Fun1(int i)

  {

    Console.WriteLine(i);

  }

  public void Fun2(A a)

  {

    a.Fun1(1);

    Fun1(5);

  }

}

public class B

{

  public override void Fun1(int i)

  {

    base.Fun1(i +1);

  }

  public static void Main()  

  {

    B b = new B();

    A a = new A ();

    a.Fun2(b);

    b.Fun2(a);

  }

}

 

转载于:https://www.cnblogs.com/jasonjiang/archive/2010/06/26/1765643.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值