返回多个参数

时间:2017-11-18 01:44:54

标签: c# class parameters

我正在尝试返回多个参数,如果这是如何说出来的话。我正在尝试将Python代码“翻译”成C#。

我实际上并不确定我正在寻找的确切术语,但我知道如何在Python中完成它,所以我只会显示我的代码。

class Staff
{
    public String name;
    public int age;

    /* Now in Python, you can easily write this following, but I have no
       idea how this works in C#. I basically want to return all the values
       for each employee in the "Staff" class */

    def desc(self):
        desc_str = "%s is %s years old." % (self.name, self.age)
        return desc_str

}

class Program
{
    public static void Main()
    {
        Staff Jack = new Staff();
        Jack.name = "Jack";
        Jack.age = 40;

        Staff Jill = new Staff();
        Jill.name = "Jill";
        Jill.age = 50;

        Console.WriteLine(Jack.desc());
        Console.WriteLine(Jill.desc());
        Console.ReadKey();
    }
}

编辑:我发现我正在搜索的是 get,set和ToString(),现在将调查它。 我翻译的代码现在看起来如下:

class Staff
{
    private string name;
    private int age;
    private string yearsold = " years old.";

    public string Name
    {
        get
        {
            return name;
        }
        set
        {
            name = value;
        }
    }

    public int Age
    {
        get
        {
            return age;
        }
        set
        {
            age = value;
        }
    }

    public string YearsOld
    {
        get
        {
            return yearsold;
        }
        set
        {
            yearsold = value;
        }
    }


    public override string ToString()
    {
        return "Employee " + Name + " is " + Age + YearsOld;
    }
}

class TestPerson
{
    static void Main()
    {
        // Create a new Person object:
        Staff person = new Staff();

        person.Name = "Jack";
        person.Age = 40;
        Console.WriteLine(person);

        person.Name = "Jill";
        person.Age = 50;
        Console.WriteLine(person);

        Console.ReadKey();
    }
}

1 个答案:

答案 0 :(得分:1)

由于您有一个类,您可以覆盖ToString函数并使用string.Format函数,如下所示:

class Staff
{
    public string name;
    public int age;

    public Staff(string _name, int _age)
    {
        this.name = _name;
        this.age = _age;
    }

    public override string ToString()
    {
        return string.Format("{0} is {1} years old.", this.name, this.age);
    }
}

然后打印:

Staff Jack = new Staff("Jack", 40);
Console.WriteLine(Jack); // implicitly calls Jack.ToString()

希望有所帮助。