如何使用字符串和Console.ReadLine()创建新对象

时间:2018-05-10 16:12:50

标签: c# .net visual-studio console

我尝试做的是制作银行应用程序,并在开始时询问您是要创建储蓄还是当前帐户,然后要求您输入所选项目的名称。我试图让程序创建一个名为我已写下来的对象。它没有认出我给他们的名字。

class Program
{
    static void Main()
    {
        Console.WriteLine("Enter 's' if you want a savings account. Enter 
        'c' if you want current account.");

        string which = Console.ReadLine();

        if (which == "s")
        {
            Console.WriteLine("Enter Name");
            string name = Console.ReadLine();
            Savingacc name;
            name = new Savingacc();
            name.mainmenu();                
        }
        else if (which == "c")
        {
            Console.WriteLine("Enter Name");
            string name = Console.ReadLine();
            Currentacc name;
            name = new Currentacc();
            name.mainmenu();
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您不应该尝试将帐户的变量名称作为他们输入的名称。您应该在帐户类中创建一个包含帐户名称的属性。这个非常基本的例子就是这样的:

class Program
{
    static void Main(string[] args)
    {
        var name = "Bob";
        var newAccount = new Account();
        newAccount.AccountName = name;
        Console.WriteLine(name);
        Console.WriteLine(newAccount.AccountName);
    }
}

public class Account
{
    public string AccountName { get; set; }
}

答案 1 :(得分:1)

您已定义了两个具有相同名称的不同变量,重命名其中一个。

    string which = Console.ReadLine();

    if (which == "s")
    {
        Console.WriteLine("Enter Name");
        string name = Console.ReadLine();
        Savingacc savingAccountObj;
        savingAccountObj = new Savingacc();
        savingAccountObj.mainmenu();                
    }
    else if (which == "c")
    {
        Console.WriteLine("Enter Name");
        string name = Console.ReadLine();
        Currentacc curAccountObj;
        curAccountObj = new Currentacc();
        curAccountObj.mainmenu();
    }

如果其他阻止中,您已获得用户的帐户名称,但您尚未使用它。