news 2026/9/1 7:45:53

- 《C# 泛型参数约束详解》

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
- 《C# 泛型参数约束详解》

泛型的介绍

类型参数与约束

  • 类型参数 (Type Parameters):即尖括号<>中的占位符,如T。常见的命名约定是使用T或以T开头的描述性名称(如TKey,TValue)。

  • 约束 (Constraints):你可以对类型参数施加约束,限制其必须是特定类型、实现某个接口或拥有无参构造函数等,从而允许在泛型代码中调用该类型的方法。常见约束有:

    • where T : struct:T 必须是值类型
    • where T : class:T 必须是引用类型
    • where T : new():T 必须有一个无参公共构造函数
    • where T : IMyInterface:T 必须实现IMyInterface接口。

    ①泛型类

    //定义 public class MyContainer<T> { public T Value { get; set; } } //使用,指定实际类型 var c = new MyContainer<int>();

②泛型方法

方法可以独立泛型,所属类不一定是泛型类

public void Print<T>(T item) { Console.WriteLine(item); }

③泛型接口 & 泛型委托

interface IFoo<T> {} Func<TIn,TOut> //内置泛型委托 Action<T>

3. 泛型约束where

限制类型参数 T 必须满足的条件,没有约束时 T 可以是任意类型。可以多个约束叠加。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 7:45:14

把B站和播客变成个人知识库?一条Obsidian自动化工作流搞定

我用 Obsidian 挺久了&#xff0c;双向链接、Graph View 那套我都很熟&#xff0c;自认为是个合格的笔记重度玩家。 但有个痛点一直绕不开&#xff1a;面对播客和视频&#xff0c;我特别无能为力。因为 Obsidian 再强&#xff0c;也得你先有文字才能记、才能连。音频和画面它在…

作者头像 李华
网站建设 2026/9/1 7:42:52

配置文件从入门到实战:格式解析、Spring Boot多环境与Nginx/MySQL改法

做后端开发、运维、测试&#xff0c;几乎每个人都会遇到同一个绕不开的场景&#xff1a;改配置文件。表面上看&#xff0c;配置文件无非就是打开文件改几行&#xff0c;但真正动手后才会发现&#xff0c;改完不生效、格式缩进报错、找不到文件、多个环境配置互相覆盖、生产环境…

作者头像 李华
网站建设 2026/9/1 7:42:19

Sentinel-1的GAMMA SBAS-InSAR教程:以河北省燕郊镇地面沉降为例

文章目录前言一、数据准备1. Sentinel-1数据2. 精密轨道数据3. DEM数据二、处理流程1. 提取SLC2. 生成精配准所需hgt文件&#xff08;1&#xff09;外部DEM格式转换&#xff08;2&#xff09;生成初始地理编码查找表&#xff08;3&#xff09;查找表精化3. 精配准4. 去斜与镶嵌…

作者头像 李华
网站建设 2026/9/1 7:40:46

ASP.NET部署与IIS配置:从请求验证到Core发布实战

简介&#xff1a;面向ASP.NET与C# Web开发学习者的配套资料包&#xff0c;围绕从入门到精通的学习主线&#xff0c;覆盖Web Forms事件驱动编程、MVC分层架构、Razor视图引擎、统一身份认证与授权、依赖注入、Web API、Entity Framework、云部署与跨平台开发等核心主题。初学人员…

作者头像 李华
网站建设 2026/9/1 7:38:27

STM32F407多功能电子钟开发实战:从RTC到按键状态机

简介&#xff1a;面向嵌入式系统课程设计的一款多功能电子钟完整工程&#xff0c;基于STM32F407硬件平台&#xff0c;适合高校嵌入式课程学生及STM32开发者参考学习。资源覆盖了完整的课设要求&#xff1a;RTC实时时钟配置、LCD液晶显示日期/时间/星期、按键校时校分与串口校时…

作者头像 李华
网站建设 2026/9/1 7:35:38

存储系统资源有限时怎样确定优化次序

存储系统资源有限时怎样确定优化次序一、解析层的 CPU 争抢 在 MySQL 内核优化实践中&#xff0c;扩展 SQL 解析器&#xff08;Lexer/Parser&#xff09;以引入 AI 增强特性&#xff08;如基于语义的 SQL 变形、智能 Hint 动态注入、向量化特征提取&#xff09;是提高复杂 Quer…

作者头像 李华