为什么typeof(string).FullName
给予System.String
而不给予string
?同样是与所有其他"简单"类型,如int
,float
,double
,...
我明白这typeof
是返回System.Type
给定类型的对象,但为什么string
不是一个System.Type
对象呢?
是因为它string
是c#语言的System.Type
一部分,并且是系统库的一部分吗?
我知道,有一个很大的区别IComparable
,并IComparable<T>
在一般情况下,看到这,但在这个搜索方法就没有任何区别,还是会?
public static int Search<T>(List<T> a, T target) where T : IComparable
{
for (int i = 0; i < a.Count; i++)
{
if (target.CompareTo(a[i]) == 0)
return i;
}
return -1;
}
Run Code Online (Sandbox Code Playgroud)
相比:
public static int Search<T>(List<T> a, T target) where T : IComparable<T>
{
...
}
Run Code Online (Sandbox Code Playgroud)
两者都会起作用并给出相同的结果吗?