C# 泛型:实现类型安全的通用代码

简介: 泛型通过类型参数(如T)实现类型通用性,可定义不指定具体类型的类或方法,使用时再确定类型。示例中,Swap<T>方法可交换任意同类型变量,List<T>集合避免装箱拆箱,提升性能与安全。

泛型允许定义 “不指定具体类型” 的类 / 方法,使用时再指定类型,避免类型转换,提升性能和安全性。

案例:泛型集合与泛型方法

// 泛型方法:交换两个值
public static void Swap<T>(ref T a, ref T b)
{
    T temp = a;
    a = b;
    b = temp;
}
// 泛型集合:List<T>(之前案例已用,这里强调泛型特性)
List<int> intList = new List<int> { 1, 2, 3 };
List<string> stringList = new List<string> { "A", "B", "C" };
// 调用泛型方法
int x = 10, y = 20;
Swap(ref x, ref y);
Console.WriteLine($"交换后:x={x}, y={y}"); // 输出:交换后:x=20, y=10
string s1 = "Hello", s2 = "World";
Swap(ref s1, ref s2);
Console.WriteLine($"交换后:s1={s1}, s2={s2}"); // 输出:交换后:s1=World, s2=Hello
关键:泛型 <T> 是 “类型占位符”,使用时自动匹配传入的类型,避免装箱拆箱。
相关文章
|
5天前
|
人工智能 安全 API
Nacos 安全护栏:MCP、Agent、配置全维防护,重塑 AI Registry 安全边界
Nacos安全新标杆:精细鉴权、无感灰度、全量审计!
103 12
|
3天前
|
安全 算法 网络协议
从明文到加密:HTTP与HTTPS核心知识全解析
本文深入解析HTTP与HTTPS的核心差异,揭示HTTPS如何通过SSL/TLS协议、CA证书和混合加密机制,解决HTTP的窃听、篡改与冒充三大安全问题,全面科普网络安全关键技术。
158 6
|
6天前
|
移动开发 API 双11
2026年阿里云最新一期域名注册和续费优惠口令内容,口令获取地址和使用教程参考
近年来,各大注册商的域名注册和续费价格都在上涨,为此,阿里云推出了针对域名产品注册、转入和续费的优惠口令。使用域名优惠口令,可享受一定的优惠。最新一期的优惠口令获取地址可通过阿里云的万网微信公众号或活动页面获取优惠口令,但不能与同域名产品的其他优惠(含代金券、折扣、满减等)同时使用。
298 3
|
9天前
|
供应链 容器
什么是code128码?
Code 128码是一种高密度条形码,支持全ASCII字符,广泛用于物流、运输和供应链管理。它分为A、B、C三个子集,可编码字母、数字及控制符,具有高密度、小空间优势,适用于复杂数据编码需求。
299 3
|
4天前
|
消息中间件 存储 分布式计算
流处理跑得再快,也怕“失忆” ——聊聊 RocksDB、快照与恢复这点事儿
流处理跑得再快,也怕“失忆” ——聊聊 RocksDB、快照与恢复这点事儿
64 10
|
4天前
|
机器学习/深度学习 人工智能 算法
基于深度学习YOLO12的汽车损伤检测系统
针对汽车损伤检测效率低、主观性强等问题,本研究基于YOLOv12提出自动化检测系统,融合区域注意力与R-ELAN网络,提升小损伤识别精度与多场景适应性,实现快速、精准、标准化评估,推动保险、二手车等产业智能化升级。
|
9天前
|
机器学习/深度学习 人工智能 自然语言处理
AI切文章就像切西瓜:递归字符分割让机器懂你心
你有没有试过给ChatGPT发一篇超长文章,结果它说'太长了,看不完'?就像让人一口吃下整个西瓜一样不现实!递归字符分割技术就像一个贴心的切瓜师傅,知道在哪里下刀才不会破坏瓜的甜美。掌握这项技术,让你的AI应用从'消化不良'变成'营养吸收专家'。#人工智能 #文本处理 #自然语言处理 #机器学习
100 4
|
5天前
|
Web App开发 网络协议 安全
HTTP/1.1到HTTP/3:互联网通信协议的三代演进之路
HTTP/1.1奠定基础,HTTP/2优化性能,HTTP/3颠覆底层。从队头阻塞到多路复用,从TCP到QUIC,三代协议演进推动互联网通信迈向低延迟、高并发、强安全的新时代。
90 5
|
5天前
|
数据采集 缓存 开发框架
RFC规范解释、URL 与 Body 、GET/POST 的核心区别详解
本文深入解析RFC规范下GET与POST的本质区别:GET语义为“只读”,安全且幂等,适用于获取资源;POST为“写操作”,不安全也不幂等,用于提交数据。详解URL与Body用法误区,并揭示安全、幂等属性对开发的影响,助你避开常见坑,写出更规范的接口。
94 3
|
8天前
|
消息中间件 分布式计算 Kafka
别被“结构化”骗了:聊聊 Spark Structured Streaming 的原理与那些年我踩过的坑
别被“结构化”骗了:聊聊 Spark Structured Streaming 的原理与那些年我踩过的坑
64 4