在C#泛型中这两行代码是一样的吗?

Idr*_*ees 3 .net c# oop

在阅读关于泛型的内容时,我遇到了这两个代码块,我想知道它们是否相同?

public abstract class Search<T, TCollection, TCriteria>
        where TCollection : Collection<Name>
        where T : Name
Run Code Online (Sandbox Code Playgroud)

和:

public abstract class Search<Name, Collection<Name>, TCriteria>
Run Code Online (Sandbox Code Playgroud)

spe*_*der 5

不,因为在第二个中您指定了一个具体的泛型参数,但在第一个参数中,您指定泛型参数可以是where子句中指定类型的任何子类.

  • 此外,由于滥用了"Collectio <Name>",第二个声明是非法的. (2认同)