我不明白为什么使用参数Double[]
执行构造函数?将NULL传递给构造函数
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyConsoleApp
{
class Program
{
static void Main(string[] args)
{
D myD = new D(null);
Console.ReadLine();
}
}
public class D
{
public D(object o)
{
Console.WriteLine("Object");
}
public D(double[] array)
{
Console.WriteLine("Array");
}
public D(int i)
{
Console.WriteLine("Int");
}
}
}
我想因为第一个构造函数需要引用类型的参数。具有引用参数的第一个构造函数是因为null
是引用类型的默认值。
但我不明白为什么不object
,它也是一个引用类型。
你在这里要求麻烦。如果你打算使用重载,包含一般类型作为对象会导致在某个点 –
@DavidHeffernan IDK的痛苦。大多数情况下,我认为调用哪种方法相当直观。只有在没有别的东西可以被调用时才会调用对象。直觉上这是有道理的,因为相反将是无稽之谈 – Cruncher
这是一个很好的面试问题! :) –