class Person
{
public int age;
public string haircolor;
public string name;
}
class Program
{
static void skapaPerson(string name, string haircolor, int age) {
Console.Write("Vad är personens namn? ");
name = Console.ReadLine();
Console.Write("Hur gammal är personen?");
age = int.Parse(Console.ReadLine());
Console.Write("Vad är personens hårfärg? ");
haircolor = Console.ReadLine();
}
static void Main(string[] args)
{
Person Person1 = new Person();
skapaPerson(Person1.name, Person1.haircolor, Person1.age);
Console.Write("{0} {1} {2}", Person1.name, Person1.haircolor, Person1.age);
Console.ReadLine();
}
我正在寻找的是如何使用该方法分配不同类元素的值,使我能够在任何给定时间编辑特定元素。
最后的写入仅用于测试,目前写入仅返回"0"。
如果可以的话,我还想知道如何使用另一种方法创建新的类元素。
不要显式传入每个单独的属性,而是考虑将实际的Person
对象传递给您的方法并在您的方法中设置属性:
static void skapaPerson(Person p) {
Console.Write("Vad är personens namn? ");
p.name = Console.ReadLine();
Console.Write("Hur gammal är personen?");
p.age = int.Parse(Console.ReadLine());
Console.Write("Vad är personens hårfärg? ");
p.haircolor = Console.ReadLine();
}
以及:
// Create an instance of your person
Person Person1 = new Person();
// Set it's properties
skapaPerson(Person1);
您可以在此处查看此操作的交互式示例。
你的类应该看起来像这样
static Person skapaPerson()
{
Person pResult = new Person(); //create new Person object here
Console.Write("Vad är personens namn? ");
pResult.name = Console.ReadLine();
Console.Write("Hur gammal är personen?");
pResult.age = int.Parse(Console.ReadLine());
Console.Write("Vad är personens hårfärg? ");
pResult.haircolor = Console.ReadLine();
return pResult; //return object with entered data
}
static void Main(string[] args)
{
Person Person1 = skapaPerson(); //Person 1 is the result of skapaPerson()
Console.Write("{0} {1} {2}", Person1.name, Person1.haircolor, Person1.age);
Console.ReadLine();
}
如果要在skapaPerson
方法中收集数据,可以在其中创建一个Person
对象并将其返回