110,477
社区成员
发帖
与我相关
我的任务
分享
class Program
{
static void Main()
{
Console.WriteLine("{0} {1}", a<b, c>(1 + 1) * 1.5, ""); // 输出 30
}
static double a<T1, T2>(double d) { return 20; }
class b { }
class c { }
}
注一、
答案C也不是绝对准确。DotNet1.1还不支持泛型, Visual Studio .NET 2003可以通过编译并运行出答案A。
注二、
微软早知道该歧义(C++也有类似问题)。因为出现歧义的概率很小,而且可以用编译器来抱怨,他们还是选用了(大于号,小于号)作为泛型语法标志。
System.Console.WriteLine("{0} {1}", (a < b), c > (1 + 1) * 1.5, a, b, c);
即可