1:求输出结果
static void Main(string[] args)
{int x = 20;
int y = 40;
GetResult(ref x, y);
Console.WriteLine("X:{0},Y:{1}", x, y);
}
static void GetResult(ref int x, int y)
{
x = x + y;
y = x + y;
}
结果:X:60Y:40
我自己用Lambda表达式写了一下
static void Main(string[] args)
{int x = 20;
int y = 40;
Test_Void = (ref int X, int Y) =>
{
X = X + Y;
Y = X + Y;
};
Console.WriteLine("X:{0},Y:{1}", x, y);
}
结果:X:60Y:40个人见解:这个面试题主要考的是对ref参数的理解。
2:求输出的结果
class Program
{
static void Main(string[] args)
{
A aa = new B();
aa.Fun();
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.()");
}
}
结果:A B A,Fun();
个人见解:继承abstract抽象类的方法执行顺序