我是C#的新手。对于这个问题感到困惑。
我已经使用override和new关键字重写了ToString()方法,两者都给了我相同的输出。那么它们之间有什么区别呢?
以下是我的示例:
我已经使用override和new关键字重写了ToString()方法,两者都给了我相同的输出。那么它们之间有什么区别呢?
以下是我的示例:
class A
{
public new string ToString()
{
return "With New Keyword";
}
}
class B
{
public override string ToString()
{
return "With Override Keyword";
}
}
class Program
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
Console.WriteLine(a.ToString());
Console.WriteLine(b.ToString());
Console.Read();
}
}
输出
使用新关键字
使用重写关键字
我知道这是一个愚蠢的问题。请任何人帮助我,告诉我两种方法之间的区别。
我不是在问new和override关键字之间的区别。我想知道在覆盖对象方法的概念中两种方法之间的区别。