VS2015 C#,如何获取登录表单以引用用户名和密码进行身份验证
这里是新手程序员 我想做一个应用程序,这是一个简单的windows窗体,这是一个登录窗口。使用数组引用登录用户名和密码 到目前为止,这就是我得到的。并且似乎遇到了代码错误。我似乎不明白 代码给出了一个表示布尔值(true或false)的错误 代码的图像:VS2015 C#,如何获取登录表单以引用用户名和密码进行身份验证,c#,winforms,visual-studio-2015,C#,Winforms,Visual Studio 2015,这里是新手程序员 我想做一个应用程序,这是一个简单的windows窗体,这是一个登录窗口。使用数组引用登录用户名和密码 到目前为止,这就是我得到的。并且似乎遇到了代码错误。我似乎不明白 代码给出了一个表示布尔值(true或false)的错误 代码的图像: 非常感谢。用户名和密码是您需要使用的字符串数组,或者检查这些数组中是否存在文本框值 if(Array.Contains(Username, txtUser.Text) && Array.Contains(Password, Pa
非常感谢。用户名和密码是您需要使用的字符串数组,或者检查这些数组中是否存在文本框值
if(Array.Contains(Username, txtUser.Text) && Array.Contains(Password, Password.Text))
{
}
或者使用IndexOf
if(Array.IndexOf(Username, txtUser.Text) != -1 && Array.IndexOf(Password, txtPassword.Text)!= -1)
{
}
哇,你想做什么 我看到两个错误第一个 您尝试将用户名文本与密码进行比较以进行验证 这没有意义 然后尝试计算字符串数组和简单字符串之间的相等值 所以,首先纠正这个问题,以获得答案 对我来说你 试着做一些像
if(username[0] == txtuser.text && Password[0] == txtpassword.text)
{
// then your first user can login
}
但这不是我们在c中登录的方式#
密码不能存储在代码中,因为代码很容易读取。我认为您需要一个for循环来检查每个用户名和密码。 让我写一个愚蠢的简单程序,但可行的登录过程 我的输出:
User=user1, Password=abc login failed!!
User=user2, Password=xxx login failed!!
User user2 login success!!
User user1 login success!!
我的源代码:
using System;
namespace sam_StreamReader
{
class Program
{
static void Main(string[] args)
{
login("user1", "abc");
login("user2", "xxx");
login("user2", "Password2");
login("user1", "Password1");
}
static bool login(string p_user_name,string p_password)
{
String[] Username = { "user1", "user2", "user3" };
String[] Password = { "Password1", "Password2", "Password3" };
for(int i=0;i<Username.Length;i++)
{
if(p_user_name == Username[i])
{
if(p_password == Password[i])
{
System.Console.WriteLine("User "+p_user_name+" login success!!");
return true;
}
}
}
System.Console.WriteLine("User=" + p_user_name + ", Password="+p_password+" login failed!!");
return false;
}
}
}
使用系统;
名称空间sam_StreamReader
{
班级计划
{
静态void Main(字符串[]参数)
{
登录(“用户1”、“abc”);
登录(“用户2”、“xxx”);
登录(“用户2”、“密码2”);
登录(“用户1”、“密码1”);
}
静态bool登录(字符串p\u用户名、字符串p\u密码)
{
字符串[]用户名={“user1”、“user2”、“user3”};
字符串[]Password={“Password1”、“Password2”、“Password3”};
对于(int i=0;i请使用代码的实际相关部分编辑您的问题,而不是使用代码的打印屏幕链接。
using System;
namespace sam_StreamReader
{
class Program
{
static void Main(string[] args)
{
login("user1", "abc");
login("user2", "xxx");
login("user2", "Password2");
login("user1", "Password1");
}
static bool login(string p_user_name,string p_password)
{
String[] Username = { "user1", "user2", "user3" };
String[] Password = { "Password1", "Password2", "Password3" };
for(int i=0;i<Username.Length;i++)
{
if(p_user_name == Username[i])
{
if(p_password == Password[i])
{
System.Console.WriteLine("User "+p_user_name+" login success!!");
return true;
}
}
}
System.Console.WriteLine("User=" + p_user_name + ", Password="+p_password+" login failed!!");
return false;
}
}
}