c# - 我如何创建一个通用类型,其中 T 也可以是 int32,但不仅是一个类

标签 c# class generics reference int

我想创建一个通用堆栈

我有一个节点类

 public class GenericNode<T> where T : class
 {
    public T item;
    public GenericNode<T> next;

    public GenericNode()
    { 
    }
    public GenericNode(T item)
    {
        this.item = item;
    }
  }

并且可以像这样使用它

GenericNode<string> node = new GenericNode<string>("one")

但我不能像一样使用它

GenericNode<int> node = new GenericNode<int>(1)

因为 int 不是引用类型(不是类),我使用 where T: class 但是 List 也不是引用类型。

我该如何解决我的问题?

最佳答案

不要使用structclass 作为通用约束。然后您可以使用其中之一。

关于c# - 我如何创建一个通用类型,其中 T 也可以是 int32,但不仅是一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17156488/

相关文章:

c# - .NET 中的空数组是否使用任何空间?

c# - Umbraco v5,MVC

c++ - 我可以使用类模板返回类型的函数吗?

Java:比较两个类列表,无论顺序如何

泛型类型绑定(bind)到 Any 时的 kotlin 重载解析歧义

c# - 不继承共享属性

c# - 如何在 C# Excel Interop 中将文本添加到现有形状(文本框)

Java 泛型 : Explicitly check for raw type

c++ - set 元素的 const 引用不保留信息

generics - 在运行时使用 Guice 通过 Types 和 TypeLiterals 重构泛型类型