C# 困难在于;IOException Unhandled“未处理的异常”; 我最近一直在尝试在C++中有两个类后学习C语言,因此我了解OOP如何工作的最基本的概念。至于我的问题,我一直在尝试使用Console.ReadLine()在主类中将用户输入的字符串分配给类的公共字符串变量
不幸的是,我一直收到一个错误,声明“句柄无效”。因为我对C#不太熟悉,所以我不完全理解如何纠正这一点,也不完全理解为什么会发生这种情况 以下是代码部分,其中我: 编写一个类的代码C# 困难在于;IOException Unhandled“未处理的异常”; 我最近一直在尝试在C++中有两个类后学习C语言,因此我了解OOP如何工作的最基本的概念。至于我的问题,我一直在尝试使用Console.ReadLine()在主类中将用户输入的字符串分配给类的公共字符串变量,c#,keyboard,user-input,C#,Keyboard,User Input,不幸的是,我一直收到一个错误,声明“句柄无效”。因为我对C#不太熟悉,所以我不完全理解如何纠正这一点,也不完全理解为什么会发生这种情况 以下是代码部分,其中我: 编写一个类的代码 public class AAA { public string A1; public string A2; } 实例化类: public class Game1 : Microsoft.Xna.Framework.Game { GraphicsDeviceManager graphics;
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);
}
现在,上述情况可能已经变成了垃圾。如果是这样的话,我可以尝试将整个代码粘贴在一个回复中(如果这对你们大家来说更容易的话,可以查看我的代码)。但是,请告诉我您是否需要关于此的任何其他信息。我看到您正在使用XNA,因为您是从Microsoft.XNA.Framework.Game派生而来的。如果在尝试从控制台读取时出现“无效句柄”错误,我不会感到惊讶,因为XNA游戏没有控制台 的询问者表示,他的解决方案是“在xna游戏属性上[打开]控制台输出”
在游戏机上阅读是没有意义的,所以我认为正确的答案是:如果你想制作一个控制台程序,只需制作一个普通的C#控制台应用程序。如果您想制作视频游戏,请使用XNA。可能是因为XNA游戏没有控制台。表示需要在XNA游戏属性中打开控制台输出。为什么你想使用游戏输入控制台是另一个完整的问题。@ JONATONE ReNHART我想我在学习键盘输入时(我没找到C++相当于CIN),把程序的窗口“控制台”误认为是程序的窗口。那么换个说法,如何从键盘输入字符串呢?所有其他指南和问答网站(包括我为XNA4.0买的一本书)只告诉我如何检查钥匙的状态。啊,是的,我做了。很抱歉,错误地点击了enter-u-我认为正确的答案是:如果你想制作一个控制台程序,只需制作一个控制台应用程序。如果你想做一个电子游戏,使用XNA。哦,哇。那么,现在我觉得很尴尬。我要试一试。顺便说一句,谢谢你的帮助,虽然这对我来说是个小小的错误。