c# - 了解一些 C# 代码

标签 c# oop data-structures

我只阅读了这个站点上的一个主题,我看到了一些我不太理解的不寻常的类定义。谁能解释一下这个定义是什么意思?

public class Node<T> where T : class
{     
  public Node<T> Next { get; set; }    
  public T Value { get; set; }     
  public Node(T value)     
  { 
    Next = null;
    Value = value;    
  } 
} 

特别是它说的地方

public class Node<T> where T : class

最佳答案

这是一个带有泛型参数 T 的泛型类定义,并且 T 必须是类(引用类型)的约束。

它本质上意味着,当你创建一个 Node 实例时,你可以做

new Node<String>(someStringVar)

但是你做不到

new Node<int>(someIntVar)

关于c# - 了解一些 C# 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851102/

相关文章:

c# - Linq IList 接口(interface)与具体

oop - Lua - 如何动态调用模块?

c# - 哪个声明更好?

algorithm - 子图算法

algorithm - 使用广度优先搜索和中序遍历来分析一个非常大的二叉搜索树的有效性

c# - 从数组值声明 "variable variables"或 "dynamic variables"?

c# - 以 MVVM 模式更新记录以获得最大效率的正确方法

c# - 无法使用 LINQ OrderBy 中的属性名称进行排序

oop - "Fluent interfaces"维护调用链中的顺序

data-structures - 将非类型化 Lisp 数据映射为类型化二进制格式以用于编译函数