如何建立一个多账户系统?(用户名、密码等)
本文关键字:系统 用户 密码 建立 何建立 一个 | 更新日期: 2023-09-27 18:06:01
我正在制作一个基于控制台的银行应用程序(主要用于学习目的),我需要使用用户名,密码,余额,ID等制作某种数组/列表/字典。我不确定这样做是否正确,但是我已经有了一个命令输入和未完成的解析器。我需要弄清楚我要怎么做会计系统。一开始我想做一个数据结构,比如
public static struct AccountStruct
{
string username;
string password;
int balance;
int ID;
}
然后每次创建一个新帐户时,以某种方式创建一个名为"public static AccountStruct Acc#"的结构,其中#为帐户数+1,然后根据用户输入定义所有值。当然,你不能根据其他变量/结构来命名变量/结构。所以我进一步研究,发现了字典,但你只能有两个值(据我所知…?),所以我在这里有点迷路了。这里是完整的未完成的银行代码因为我知道我可能在这里也做错了:http://pastebin.com/HrCNAQKa
你犯了一些初学者常犯的错误。
-
你实际上不是在问问题。Stack Overflow并不是为了提供交互式教程而设置的。尝试编写一些代码来演示一个特定的问题,并将这些代码贴在问题上。不要简单地提供代码链接;搜索找不到它,我们不知道目的地是否与问题对应。链接也会过期
-
一切都是
static
。这意味着只能有一种东西是静态的,并且每个实例都是相同的。在您的情况下,这意味着您永远不会拥有多个帐户。 -
你正在使用一个可变结构体。正如Ron Beyer所提到的,这样的事情是导致噩梦般的问题的原因,比如变量似乎同时是不同的值。
Account
类:
public class Account
{
public readonly int ID;
public string Username;
public string Password;
public decimal Balance;
public Account(int id, string username, string password)
{
ID = id;
Username = username;
Password = password;
}
}
你可以创建多个帐户:
var c1 = new Account(1, "Janet", "Pharos");
var c2 = new Account(2, "Sarah", "Logopolis");
虽然可能需要一个文件或数据库作为永久的解决方案,但如果您只是在测试,您可以简单地将帐户存储在列表中:
var accounts = new List<Account>
{
c1, c2
};
使用List方法进行实验;它们可用于搜索、插入和删除帐户。如果遇到问题,请将代码发布到新问题
理想的方法是使用关系数据库(MySQL等),但是如果您只想做一些测试目的的事情,您可以使用Dictionary。它只接受两个参数,一个键和一个值。键可以是用户的帐号,值可以是您创建的包含所有其他信息的结构。