C# 在这种情况下,是否有其他方法可以添加Console.WriteLine()
在这段代码中,我希望在每个Console.ReadLine()之后添加一个Console.Writeline(),但是如何实现代码给了我一个错误。是否有其他方法可以在实例中添加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
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真的很有帮助:)