C# 查找包含…;等
好的,我基本上是想找到一行“Users.txt” 这是到目前为止我的密码C# 查找包含…;等,c#,C#,好的,我基本上是想找到一行“Users.txt” 这是到目前为止我的密码 if (ok == "b" || ok == "B") { using (StreamWriter w = File.AppendText("Users.txt")) { //Test Out.WriteLine("Please state the username"); string user = Console.Re
if (ok == "b" || ok == "B")
{
using (StreamWriter w = File.AppendText("Users.txt"))
{
//Test
Out.WriteLine("Please state the username");
string user = Console.ReadLine();
Out.WriteLine("Checking..");
if (w.Equals(user))
{
Out.WriteLine("Username is taken");
}
Thread.Sleep(pause);
Out.WriteLine("Please state the password for the user");
string pass = Console.ReadLine();
Logger(user, pass, w);
// Close the writer and underlying file.
w.Close();
Out.WriteLine("Checking..");
Out.WriteBlank();
Thread.Sleep(pause);
Out.WriteLine("Anything else Mr." + Environment.UserName + " ?");
}
string choice = Console.ReadLine();
if (choice == "no")
{
Boot();
}
if (choice == "yes")
{
Console.Clear();
Console.Title = "Administrator Panel";
Panel();
}
}
希望它查看“用户”是否被占用,然后阻止他们执行该过程
感谢您的帮助。尝试使用文件读取(StreamReader
)。打开
)每个现有用户名到一个数组/列表中,然后将用户输入与该列表进行比较
您当前的代码实际上没有读取任何内容,因为您正在将StreamWriter
与File.AppendText一起使用,它只允许您写入文件的末尾
示例:
列表用户=新列表();
使用(StreamReader r=newstreamreader(“Users.txt”))
{
弦线;
而((line=r.ReadLine())!=null)
{
用户。添加(行);
}
}
...
字符串user=Console.ReadLine();
Out.WriteLine(“检查…”);
if(users.Contains(user))
{
Out.WriteLine(“使用用户名”);
}
尝试使用文件读取(StreamReader
。打开
)每个现有用户名到一个数组/列表中,然后将用户输入与该列表进行比较
您当前的代码实际上没有读取任何内容,因为您正在将StreamWriter
与File.AppendText一起使用,它只允许您写入文件的末尾
示例:
列表用户=新列表();
使用(StreamReader r=newstreamreader(“Users.txt”))
{
弦线;
而((line=r.ReadLine())!=null)
{
用户。添加(行);
}
}
...
字符串user=Console.ReadLine();
Out.WriteLine(“检查…”);
if(users.Contains(user))
{
Out.WriteLine(“使用用户名”);
}
您的代码存在各种问题。让我们看看是否可以一次分解一块
using (StreamWriter w = File.AppendText("Users.txt"))
如果您想打开“Users.txt”并在其中添加文本,则此代码将非常有用。由于要打开文件并从中读取,因此需要使用不同的对象,即StreamReader
对象:
using (StreamReader r = File.Open("Users.txt"))
接下来,您要检查给定的用户名是否在文件中。你正在做:
if (w.Equals(user))
{
Out.WriteLine("Username is taken");
}
这是行不通的。您正在将StreamWriter
对象与String
对象进行比较。他们永远不会平等
您需要做的是更改程序的顺序,如下所示:
username,password
username2,password2
johnsmith,mysecretcode
janedoe,blahblah
首先,将文件的全部内容读入内存。然后,在使用
语句的之外,处理用户输入和用户名/密码检查
假设文件的组织方式如下:
username,password
username2,password2
johnsmith,mysecretcode
janedoe,blahblah
例如,您可以将每一行读入字典
对象,其中键
是用户名,值
是密码
Dictionary<String, String> myDictionary = new Dictionary<String, String>
// Example of adding ONE username/password to the dictionary
myDictionary.Add("username", "password");
检查密码将是:
bool doesPasswordMatch = myDictionary[username] == givenPassword;
试试看!C#是一种很好的学习语言。您的代码存在各种问题。让我们看看是否可以一次分解一块
using (StreamWriter w = File.AppendText("Users.txt"))
如果您想打开“Users.txt”并在其中添加文本,则此代码将非常有用。由于要打开文件并从中读取,因此需要使用不同的对象,即StreamReader
对象:
using (StreamReader r = File.Open("Users.txt"))
接下来,您要检查给定的用户名是否在文件中。你正在做:
if (w.Equals(user))
{
Out.WriteLine("Username is taken");
}
这是行不通的。您正在将StreamWriter
对象与String
对象进行比较。他们永远不会平等
您需要做的是更改程序的顺序,如下所示:
username,password
username2,password2
johnsmith,mysecretcode
janedoe,blahblah
首先,将文件的全部内容读入内存。然后,在使用
语句的之外,处理用户输入和用户名/密码检查
假设文件的组织方式如下:
username,password
username2,password2
johnsmith,mysecretcode
janedoe,blahblah
例如,您可以将每一行读入字典
对象,其中键
是用户名,值
是密码
Dictionary<String, String> myDictionary = new Dictionary<String, String>
// Example of adding ONE username/password to the dictionary
myDictionary.Add("username", "password");
检查密码将是:
bool doesPasswordMatch = myDictionary[username] == givenPassword;
试试看!C#是一门很好学的语言。我是一名学习者,你能给我举一个你所说的例子吗?@Dev Studios-aStreamWriter
写入文件。你想从一个文件中读取,所以你需要一个StreamReader
。建议:在这个功能正常工作后,搜索你想要实现的最佳实践(从控制台读取输入等),然后用你学到的重构你的代码。我实际上是在对每一行进行比较如果函数被多次调用,那么我将a)检查现有的读取用户名。b) 如果找不到,则继续读取和比较(然后存储在列表中),而不是读取整个文件并进行比较。编辑:哈希集也可能更好地存储用户names@Rob:A)考虑到我们根本看不到此代码的任何上下文,这是非常挑剔的。B) 我不打算为提交者编写一个容错的低语干净高效的代码实现,这是他的工作。我是一个有点学习的人,你能给我举个例子说明你在说什么吗?@Dev Studios-aStreamWriter
写入文件。你想从一个文件中读取,所以你需要一个StreamReader
。建议:在这个功能正常工作后,搜索你想要实现的最佳实践(从控制台读取输入等),然后用你学到的重构你的代码。我实际上是在对每一行进行比较如果函数被多次调用,那么我将a)检查现有的读取用户名。b) 如果找不到,则继续读取和比较(然后存储在列表中),而不是读取整个文件并进行比较。编辑:哈希集也可能更好地存储用户names@Rob:A)考虑到我们根本看不到此代码的任何上下文,这是非常挑剔的。B) 我不会写一篇容错的低语,干净高效