使用 C# 中的方法编辑类元素


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对象并将其返回

最新更新