相关疑难解决方法(0)

为什么在派生类中调用方法会调用基类方法?

考虑以下代码:

class Program
{
    static void Main(string[] args)
    {
        Person person = new Teacher();
        person.ShowInfo();
        Console.ReadLine();
    }
}

public class Person
{
    public void ShowInfo()
    {
        Console.WriteLine("I am Person");
    }
}
public class Teacher : Person
{
    public new void ShowInfo()
    {
        Console.WriteLine("I am Teacher");
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,输​​出以下内容:

我是人

但是,你可以看到它是一个实例Teacher,而不是Person.代码为什么这样做?

c# class derived-class

144
推荐指数
4
解决办法
7万
查看次数

如何检测"按任意键继续...".会显示吗?

在Visual Studio中运行控制台应用程序时,根据您的设置,它将在程序退出后添加提示:

按任意键继续 ...

我已经找到了如何检测我是否在调试器(使用Debugger.IsAttached)下运行,但它没有帮助.按CTRL-F5不开始调试设置该标志false,但仍显示提示.

我想检测这个,因为我想显示我自己的消息并等待按键,但不要加倍按键检查.

我不想破坏我的一般Visual Studio设置.如果我可以以可以检查到源代码管理的方式为此项目禁用它,那也可以.

使用什么机制来附加此提示,以及如何检测它?

或者如何为每个项目禁用它,并将此更改检查为源代码管理?

ide console-application visual-studio visual-studio-debugging

10
推荐指数
1
解决办法
2959
查看次数

为什么我的教授使用两个getchar();?

为什么我的教授使用两个getchar(); 在我们的C程序教程结束时?

对此有什么"更好的方法"?

c

6
推荐指数
5
解决办法
7799
查看次数