我是初学者。我大约在两周前开始学习c#,现在我正在编写一个简单的Login / Register程序,但是这对我来说有点困难。我的问题是:有这个adat1= olvas.ReadLine();
代码,我认为这只能从txt中读取一行。我如何才能读取所有行,然后选择我们写入控制台的UserName?解决方案完成后,我们将能够创建新用户。谢谢你们的帮助!
我的源代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Threading;
namespace Gyak
{
class Program
{
static void Main(string[] args)
{
bool helyes = false;
do {
Console.Clear();
Console.WriteLine("1 = Login\n2 = Registration");
int valasz = int.Parse(Console.ReadLine());
if (valasz == 1)
{
StreamReader olvas = new StreamReader(@"D:\k\Gyakorlás 2\UserName.txt", Encoding.Default);
while (!olvas.EndOfStream)
{
string adat1;
helyes = true;
Console.Clear();
Console.WriteLine("Login");
Console.WriteLine("UserName: ");
Console.Write("Password: ");
Console.SetCursorPosition(10, 1);
string valasz1 = Console.ReadLine();
adat1 = olvas.ReadLine();
Console.SetCursorPosition(10, 2);
string valasz2 = Console.ReadLine();
if (adat1.StartsWith(valasz1))
{
string[] keresett_adat = adat1.Split(':');
string keresett_eredmény = keresett_adat[1];
if (valasz2 == keresett_eredmény)
{
Console.WriteLine("Login Succeeded");
Console.ReadLine();
}
else
{
Console.WriteLine("Access Denied!\nTry again!");
Console.ReadLine();
}
}
}
}
else if (valasz == 2)
{
StreamWriter iras = new StreamWriter(@"D:\k\Gyakorlás 2\UserName.txt", true, Encoding.Default);
helyes = true;
Console.Clear();
Console.WriteLine("Registration");
Console.WriteLine("UserName: ");
Console.Write("Password: ");
Console.SetCursorPosition(10, 1);
string valasz3 = Console.ReadLine();
Console.SetCursorPosition(10, 2);
string valasz4 = Console.ReadLine();
iras.WriteLine( "\n" + valasz3 + ":" + valasz4);
iras.Close();
}
else
{
helyes = false;
Console.WriteLine("Incorrect!");
Thread.Sleep(2000);
}
}while(helyes != true);
}
}
}
您可以使用File.ReadAllText
或File.ReadAllLines。