这几个是考察个人逻辑思维的,所以希望大家不要再电脑上敲,直接用大脑思考!
第一个例子:
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);
}
}