C# 在这种情况下,是否有其他方法可以添加Console.WriteLine()

C# 在这种情况下,是否有其他方法可以添加Console.WriteLine(),c#,instance,utf-16,console.writeline,C#,Instance,Utf 16,Console.writeline,在这段代码中,我希望在每个Console.ReadLine()之后添加一个Console.Writeline(),但是如何实现代码给了我一个错误。是否有其他方法可以在实例中添加Console.WriteLine() public void CreateAccount() { Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-"); Console.WriteLine("Create an Acco

在这段代码中,我希望在每个Console.ReadLine()之后添加一个Console.Writeline(),但是如何实现代码给了我一个错误。是否有其他方法可以在实例中添加Console.WriteLine()

     public void CreateAccount()
        {
        Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-");
        Console.WriteLine("Create an Account");
        Client createAccount = new Client("Create")
        {
            NameOfUser = Console.ReadLine(),
            SurnameOfUser = Console.ReadLine(),
            UserID = Console.ReadLine(),
            UserEmail = Console.ReadLine(),
            UserHomeAdd = Console.ReadLine(),
            UserMobileNumber = int.Parse(Console.ReadLine()),
            UsernameField = Console.ReadLine(),
            PasswordField = Console.ReadLine(),
            CoffePoints = int.Parse(Console.ReadLine())

        };


        List<Client> accountData = new List<Client>()
        {
            createAccount
        };
public void CreateAccount()
{
Console.WriteLine(“-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-”;
Console.WriteLine(“创建帐户”);
客户端CreateCount=新客户端(“创建”)
{
NameOfUser=Console.ReadLine(),
姓氏用户=Console.ReadLine(),
UserID=Console.ReadLine(),
UserEmail=Console.ReadLine(),
UserHomeAdd=Console.ReadLine(),
UserMobileNumber=int.Parse(Console.ReadLine()),
UsernameField=Console.ReadLine(),
PasswordField=Console.ReadLine(),
CoffePoints=int.Parse(Console.ReadLine())
};
List accountData=新列表()
{
创建帐户
};

您可以创建一个方法来打印某些内容并返回Console.ReadLine(),例如:

private static string ReadLine(string writeMessage, bool parseAsInt = false)
{
    Console.WriteLine(writeMessage);

    var line = Console.ReadLine();

    if (parseAsInt)
    {
        int parseInt = 0;
        int.TryParse(line, out parseInt);
        line = parseInt.ToString();
    }

    return line;
}
然后在创建对象时调用它:

Client createAccount = new Client("Create")
{
    NameOfUser = ReadLine("What's your name?"),
    SurnameOfUser = ReadLine("Input your surname"),
    [...]
    CoffePoints = ReadLine("Coffe points?", true)
};

您可以创建一个方法来打印某些内容并返回Console.ReadLine(),例如:

private static string ReadLine(string writeMessage, bool parseAsInt = false)
{
    Console.WriteLine(writeMessage);

    var line = Console.ReadLine();

    if (parseAsInt)
    {
        int parseInt = 0;
        int.TryParse(line, out parseInt);
        line = parseInt.ToString();
    }

    return line;
}
然后在创建对象时调用它:

Client createAccount = new Client("Create")
{
    NameOfUser = ReadLine("What's your name?"),
    SurnameOfUser = ReadLine("Input your surname"),
    [...]
    CoffePoints = ReadLine("Coffe points?", true)
};
您不能将WriteLine()放在ReadLine()之间,因为您正在初始化新客户端的属性。但是,您可以这样做:

public void CreateAccount()
{
    Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-");
    Console.WriteLine("Create an Account");
    Client createAccount = new Client("Create");

    Console.WriteLine("Enter NameOfUser ");
    createAccount.NameOfUser = Console.ReadLine();

    Console.WriteLine("Enter SurnameOfUser ");
    createAccount.SurnameOfUser = Console.ReadLine();

    Console.WriteLine("Enter UserID ");
    createAccount.UserID = Console.ReadLine();

    Console.WriteLine("Enter UserEmail ");
    createAccount.UserEmail = Console.ReadLine();

    Console.WriteLine("Enter UserHomeAdd ");
    createAccount.UserHomeAdd = Console.ReadLine();

    Console.WriteLine("Enter UserMobileNumber ");
    createAccount.UserMobileNumber = int.Parse(Console.ReadLine());

    Console.WriteLine("Enter UsernameField ");
    createAccount.UsernameField = Console.ReadLine();

    Console.WriteLine("Enter PasswordField ");
    createAccount.PasswordField = Console.ReadLine();

    Console.WriteLine("Enter CoffePoints ");
    createAccount.CoffePoints = int.Parse(Console.ReadLine());


    List<Client> accountData = new List<Client>()
    {
        createAccount
    };
不能有多行这样的代码:

Something s = new Something(){
   Property1 = ReadLine(),  //no semicolon here, this is all
   Property2 = ReadLine()   //one line of code in a=1,b=2,c=3 pattern
};
Something s = new Something(){
   Property1 = WriteLine("Blah"); ReadLine(); //can't put a semicolon here
   Property2 = WriteLine("Blah"); ReadLine(); //it HAS to be a comma, because it
   Property3 = WriteLine("Blah"); ReadLine(); //HAS to be a single line of code
};
请记住,在C#中定义新行代码的不是返回键,而是分号。这只是一种语言规则,用于设置此类属性的模式是单行的,并且只有一条语句可以出现在
=
的右侧

不能使用速记方式(如上所述),或者必须将所有要使用的多行代码放在一个方法中,然后调用该方法(如Isma建议的)

我还想指出的是,您说过您希望“在每次读线之后编写消息”-请注意,您的程序将等待用户输入任何内容,然后再打印消息。Isma的方法(以及上面的方法)是在请求读线之前打印消息,因为这是您通常希望执行的操作

如果你真的想让他们关注你,那么就让他们关注你(但我想你真的只能感谢他们的投入,过度感激的事情很烦人……)这样的事情(Isma的方式):

或者我的方式:

public void CreateAccount()
{
    Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-");
    Console.WriteLine("Create an Account");
    Client createAccount = new Client("Create");

    createAccount.NameOfUser = Console.ReadLine();
    Console.WriteLine("Thanks for entering NameOfUser..");
您不能将WriteLine()放在ReadLine()之间,因为您正在初始化新客户端的属性。但是,您可以这样做:

public void CreateAccount()
{
    Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-");
    Console.WriteLine("Create an Account");
    Client createAccount = new Client("Create");

    Console.WriteLine("Enter NameOfUser ");
    createAccount.NameOfUser = Console.ReadLine();

    Console.WriteLine("Enter SurnameOfUser ");
    createAccount.SurnameOfUser = Console.ReadLine();

    Console.WriteLine("Enter UserID ");
    createAccount.UserID = Console.ReadLine();

    Console.WriteLine("Enter UserEmail ");
    createAccount.UserEmail = Console.ReadLine();

    Console.WriteLine("Enter UserHomeAdd ");
    createAccount.UserHomeAdd = Console.ReadLine();

    Console.WriteLine("Enter UserMobileNumber ");
    createAccount.UserMobileNumber = int.Parse(Console.ReadLine());

    Console.WriteLine("Enter UsernameField ");
    createAccount.UsernameField = Console.ReadLine();

    Console.WriteLine("Enter PasswordField ");
    createAccount.PasswordField = Console.ReadLine();

    Console.WriteLine("Enter CoffePoints ");
    createAccount.CoffePoints = int.Parse(Console.ReadLine());


    List<Client> accountData = new List<Client>()
    {
        createAccount
    };
不能有多行这样的代码:

Something s = new Something(){
   Property1 = ReadLine(),  //no semicolon here, this is all
   Property2 = ReadLine()   //one line of code in a=1,b=2,c=3 pattern
};
Something s = new Something(){
   Property1 = WriteLine("Blah"); ReadLine(); //can't put a semicolon here
   Property2 = WriteLine("Blah"); ReadLine(); //it HAS to be a comma, because it
   Property3 = WriteLine("Blah"); ReadLine(); //HAS to be a single line of code
};
请记住,在C#中定义新行代码的不是返回键,而是分号。这只是一种语言规则,用于设置此类属性的模式是单行的,并且只有一条语句可以出现在
=
的右侧

不能使用速记方式(如上所述),或者必须将所有要使用的多行代码放在一个方法中,然后调用该方法(如Isma建议的)

我还想指出的是,您说过您希望“在每次读线之后编写消息”-请注意,您的程序将等待用户输入任何内容,然后再打印消息。Isma的方法(以及上面的方法)是在请求读线之前打印消息,因为这是您通常希望执行的操作

如果你真的想让他们关注你,那么就让他们关注你(但我想你真的只能感谢他们的投入,过度感激的事情很烦人……)这样的事情(Isma的方式):

或者我的方式:

public void CreateAccount()
{
    Console.WriteLine("-=-=-=-=-=-=-=-=-=-=-=-=-=-");
    Console.WriteLine("Create an Account");
    Client createAccount = new Client("Create");

    createAccount.NameOfUser = Console.ReadLine();
    Console.WriteLine("Thanks for entering NameOfUser..");

什么错误?请发布尽可能多的信息。如果我在每个控制台之间添加一个Console.WriteLine(),也许我们可以修复这个错误。ReadLine()它将文本表示为utf-16代码单元序列错误不要在用户输入时使用
int.Parse
。如果用户输入的字符串无法解析为int,我会遇到一个令人烦恼的异常,如
André
。什么错误?请发布尽可能多的信息。如果我添加了控制台,也许我们可以修复错误。WriteLine()在每个控制台之间它让我将文本表示为utf-16代码单元序列错误不要在用户输入时使用
int.Parse
。如果用户输入的字符串无法解析为int,我会遇到一个恼人的异常,比如
André
@AndréColeiro没问题。我添加了一些更详细的信息来帮助您学习谢谢@Caius Jard really helpfull:)@André科莱罗没问题。我添加了更多细节来帮助你学习谢谢@Caius Jard真的很有帮助:)