在c#中是否有使用变量或用户输入初始化对象的方法?



我正在尝试为我的测试程序创建一个代表新用户的对象。

我希望对象的名称是用户输入的电子邮件地址IE我希望能够输入John@gmail.com.Classmethod()但是,我不能将Email变量内部的值传递给新对象变量的名称。请参阅下面的代码

Console.WriteLine("Full Name:");
string name = Console.ReadLine();

Console.WriteLine("Email:");
string email = Console.ReadLine();

Console.WriteLine("Address:");
string address = Console.ReadLine();

Console.WriteLine("Password:");
string password = Console.ReadLine();
Client NEWCLIENT = new Client(name, email, address, password);

为了进一步详细说明,我想用变量Email的字符串来替换NEWCLIENT占位符。

谢谢

不,你不能那样做。最接近的解决方案是使用字典,将电子邮件作为键,如下所示:

var clients = new Dictionary<string, Client>();
// your code
clients.Add(email, newClient);

然后你可以用clients["John@gmail.com"].Classmethod();调用你的方法。

我试图理解您的意思,但找不到明确的理由。

当你这样做

Client NEWCLIENT = new Client(name, email, address, password);

对象名称是NEWCLIENT(应该是NEWCLIENT), NEWCLIENT可以调用

NEWCLIENT.ClassMethod ();你想动态命名一个变量,据我所知这是不可能的,因为编译器必须知道所有的变量,以便将它们与内存区域相关联。

相关内容

  • 没有找到相关文章

最新更新