方法()应该放在哪里?

Dav*_*ave 1 c# methods function

我有一个演示脚本,可以很好地显示问题所以我会显示脚本,然后问.

class Program
{
    static void Main(string[] args)
    {
        Dog dog = new Dog() { Age = 4 };

        //This approach (version A)
        dog.DisplayDogYears();

        //Or this approach (version B)
        displayDogYears(dog);

        Console.ReadKey();
    }

    private static void displayDogYears(Dog d)
    {
        Console.WriteLine("The dog is {0} years old in human years.", d.Age * 7);
    }
}

public class Dog
{
    public int Age { get; set; }

    public void DisplayDogYears()
    {
        Console.WriteLine("The dog is {0} years old in human years.", Age * 7);
    }
}
Run Code Online (Sandbox Code Playgroud)

有两种方法可以做同样的事情(方法A和方法B).在可伸缩性和可读代码方面,是否有任何理由更喜欢一种方法而不是另一种方法.我可以看到方法A的一个优点是该方法可用于Dog类的所有实例(非常好且可伸缩,可重用和可维护,但是,在调试时它确实意味着我必须在不同的类之间移动(并且VS具有跳转到不同的文件等)而不是只在一个文件中查看所有内容.

有什么想法吗?

戴夫

Fel*_*ano 7

我更喜欢在类Dog中有一个方法:

public int GetAgeInHumanYears()
{
    return Age*7;
}
Run Code Online (Sandbox Code Playgroud)

并使用您喜欢的格式字符串从main调用此方法.