gpt4 book ai didi

c# - 如何在对象初始值设定项中使用 Console.Write?

转载 作者:太空狗 更新时间:2023-10-30 00:38:55 25 4
gpt4 key购买 nike

当我在对象初始值设定项中使用 Console.Write 时出现此错误

Error CS0747 Invalid initializer member declarator

person[i] = new Karmand()
{
Console.Write("first name:"),
FirstName = Console.ReadLine(),
LastName = Console.ReadLine(),
ID = Convert.ToInt32(Console.ReadLine()),
Hoghoogh = Convert.ToDouble(Console.ReadLine())
};

最佳答案

你不能,因为Console.Write 不是Karmand 的可访问属性或字段。您只能在 object initializers 中设置类属性和字段的值.

您的代码是下面代码的语法糖 ( a little bit different )。

var person[i] = new Karmand();
// what do you expect to do with Console.Write here?
person[i].FirstName = Console.ReadLine();
person[i].LastName = Console.ReadLine();
person[i].ID = Convert.ToInt32(Console.ReadLine());
person[i].Hoghoogh = Convert.ToDouble(Console.ReadLine());

如果需要,您可以在 Karmand 类中有一个构造函数来为您打印。

public class Karmand
{
public Karmand(bool printFirstName = false)
{
if (printFirstName)
Console.Write("first name:");
}

// rest of class code
}

然后像这样使用它

person[i] = new Karmand(printFirstName: true)
{
FirstName = Console.ReadLine(),
LastName = Console.ReadLine(),
ID = Convert.ToInt32(Console.ReadLine()),
Hoghoogh = Convert.ToDouble(Console.ReadLine())
};

关于c# - 如何在对象初始值设定项中使用 Console.Write?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37018595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com