在约束到值类型(第二段)时,它只是意味着这一点
static bool TryToCompare<T>(T first, T second) where T : struct
{
return first == second; // not legal
return first.Equals(second); // legal
}
Run Code Online (Sandbox Code Playgroud)
如果没有泛型的值类型约束,它也会说(第一段)
static bool TryToCompare<T>(T first, T second)
{
return first == second; // not legal
return first == null; // legal
return first.Equals(second); // legal
}
Run Code Online (Sandbox Code Playgroud)
如果限制T为引用类型,则可以使用==
static bool TryToCompare<T>(T first, T second) where T : class
{
return first == second; // legal
return first == null; // legal
return first.Equals(second); // legal
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |