关于" IOException未解决的问题"

时间:2014-06-19 01:01:33

标签: c# keyboard user-input

我最近在C ++中使用两个类之后尝试学习C#,因此我理解了有关OOP如何工作的最基本概念。至于我的问题,我一直在尝试使用Console.ReadLine()将用户输入的字符串分配给主类中的类的公共字符串变量;

不幸的是,我一直收到一条错误,指出“句柄无效”。因为我不熟悉C#,所以我不完全理解如何纠正这一点,也不知道为什么会这样。

以下是我的代码部分:

编写类的代码;

public class AAA
{
    public string A1;
    public string A2;
}

实例化课程:

public class Game1 : Microsoft.Xna.Framework.Game
{
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;
    AAA aaa;

// The next portions of code are found within this class.

    protected override void Initialize()
    {
        // TODO: Add your initialization logic here

        aaa = new AAA( );

        base.Initialize();
    }

在更新部分,尝试将键盘输入分配给AAA类中的变量A1和A2:

    protected override void Update(GameTime gameTime)
    {
        // Allows the game to exit
        if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            this.Exit();

        // TODO: Add your update logic here

            Console.WriteLine("Enter your first name" + Environment.NewLine);
            aaa.A1 = Console.ReadLine();

            Console.WriteLine(Environment.NewLine + "Enter your last name" + Environment.NewLine);
            aaa.A2 = Console.ReadLine();

            Console.WriteLine(Environment.NewLine + "Your name is:" + Environment.NewLine + aaa.A1 + " " + aaa.A2);

            Console.Read( );

        base.Update(gameTime);
    }

现在,上述情况可能已经变成了垃圾。如果是这样,我可以尝试将整个代码粘贴在一个回复中(如果这对你们所有人来说都更容易,能够查看我的代码)。但是,如果您对此有任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

我看到你正在使用XNA,因为你是从Microsoft.Xna.Framework.Game派生的。如果您在尝试从控制台读取时出现“无效句柄”错误,我不会感到惊讶,因为没有用于XNA游戏的控制台

this question的提问者表示他的解决方案是“[打开] xna游戏属性的控制台输出”。

从视频游戏的控制台阅读是没有意义的,所以我认为正确的答案是:如果你想制作一个控制台程序,只需制作一个简单的'C#控制台应用程序。如果你想制作视频游戏,请使用XNA。