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具有跳转到不同的文件等)而不是只在一个文件中查看所有内容.
有什么想法吗?
戴夫
我更喜欢在类Dog中有一个方法:
public int GetAgeInHumanYears()
{
return Age*7;
}
Run Code Online (Sandbox Code Playgroud)
并使用您喜欢的格式字符串从main调用此方法.