【发布时间】:2015-04-27 12:01:41
【问题描述】:
我在尝试“登录”时遇到错误。这是一个学校项目,我知道它很简单,我只需要它正常运行,感谢任何帮助。尝试忽略明显低效的代码。
class UserVariables
{
public static int avatarC;
public static int colourC;
public static string userNameC;
public static string passWordC;
public static int highScoreC;
}
private void button1_Click(object sender, EventArgs e)
{
try
{
bool success = false;
string UsernameTXT = "userName.txt";
string PasswordTXT = "userPass.txt";
string ColourTXT = "userColour.txt";
string AvatarTXT = "userAvatar.txt";
string ScoreTXT = "userScore.txt";
using (StreamReader user_Login = new StreamReader(UsernameTXT))
{
using (StreamReader pass_Login = new StreamReader(PasswordTXT))
{
using (StreamReader colour_Login = new StreamReader(ColourTXT))
{
using (StreamReader avatar_Login = new StreamReader(AvatarTXT))
{
using (StreamReader score_login = new StreamReader(ScoreTXT))
{
var lineCount = File.ReadLines(UsernameTXT).Count();
string userRead;
string passRead;
string colourRead;
string avatarRead;
string scoreRead;
for (int a = 0; a < lineCount; a++)
{
userRead = user_Login.ReadLine();
passRead = pass_Login.ReadLine();
colourRead = user_Login.ReadLine();
avatarRead = pass_Login.ReadLine();
scoreRead = user_Login.ReadLine();
if ((textBox1.Text == userRead) && (textBox2.Text == passRead))
{
UserVariables.userNameC = textBox1.Text;
UserVariables.passWordC = textBox2.Text;
UserVariables.colourC = int.Parse(colourRead);
// Theres a problem with this line.
UserVariables.avatarC = int.Parse(avatarRead);
UserVariables.highScoreC = int.Parse(scoreRead);
MessageBox.Show("Login successful!",
"Success");
success = true;
new Menus().Show();
this.Hide();
MessageBox.Show("Hi, " + UserVariables.userNameC + "!");
break;
}
}
if (success == false)
{
label1.Show();
MessageBox.Show("Login was unsuccessful.",
"Error");
}
}
}
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
【问题讨论】:
-
您需要描述错误...您尝试解析的字符串的内容是什么?
-
“输入字符串的格式不正确”但我确定它是一个数字,简单的数字就像 2 或 3
-
那个错误表明,它到底是什么样子?
-
在有问题的行设置断点并在调试器中检查值。
-
好吧,我使用了一个 try catch 来解决它,但它只是一个巨大的错误,上面写着“输入字符串的格式不正确”,然后它开始胡言乱语,比如 intParse decimalboolean 和类似的东西
标签: c# text-files system.io.file