C# 泛型类型的默认值?

C# 泛型类型的默认值?,c#,generics,.net-4.0,C#,Generics,.net 4.0,有可能做像这样的事情吗 public class PriorityQueue<TValue, TPriority=int> where TPriority : IComparable 但是我想知道是否可以作为一个参数来执行它。否。在C#中,泛型类型上没有默认类型选项 如果您需要这种行为,您的第二个示例通常是可用的“最佳”选项 public class PriorityQueue<TValue> : PriorityQueue<TValue, int> { }

有可能做像这样的事情吗

public class PriorityQueue<TValue, TPriority=int> where TPriority : IComparable

但是我想知道是否可以作为一个参数来执行它。

否。在C#中,泛型类型上没有默认类型选项

如果您需要这种行为,您的第二个示例通常是可用的“最佳”选项

public class PriorityQueue<TValue> : PriorityQueue<TValue, int> { }