C#基本重载示例
示例
这段代码包含一个名为Hello的重载方法:
class Example
{
public static void Hello(int arg)
{
Console.WriteLine("int");
}
public static void Hello(double arg)
{
Console.WriteLine("double");
}
public static void Main(string[] args)
{
Hello(0);
Hello(0.0);
}
}当主要方法被调用,它将打印
int double
在编译时,当编译器找到方法调用时Hello(0),它将找到名称为的所有方法Hello。在这种情况下,它将找到其中两个。然后尝试确定哪种方法更好。确定哪种方法更好的算法很复杂,但是通常归结为“进行尽可能少的隐式转换”。
因此,在的情况下Hello(0),该方法不需要转换,Hello(int)但是该方法需要隐式数值转换Hello(double)。因此,第一种方法由编译器选择。
在情况下Hello(0.0),无法转换0.0为int隐式,因此Hello(int)甚至不考虑该方法的重载解决方案。仅保留方法,因此由编译器选择。
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下