C#中的泛型
泛型是一种对变量类型的参数化在定义类接口或方法时在名称后用一个泛型占位符来代替想要被指定的变量类型在实际用到的时候就可以自主的来指定该变量类型。泛型类泛型接口与泛型函数中的泛型占位符可以不限定于单个即允许有多个泛型占位符。对于继承了了泛型接口的类需要对于指明泛型接口中写的泛型的变量类型。泛型方法中的泛型可以作为参数传入可以作为内部逻辑处理可以作为返回值但要注意对于后两者的处理由于我们在初始声明时无法得知具体的变量类型所以尽量使用变量的默认型default来参与。对于泛型类中的泛型方法内部泛型方法指定的泛型字符不能与外部泛型类指定的泛型字符重复。利用泛型可以处理不同类型对象的相同逻辑处理也可以在一定程度上优化装箱拆箱的内存占用。using System; namespace lesson05 { //泛型类 class TestClassT,K { public T value; public K key; } //泛型接口 interface TestInterFaceM, LL { M Value { get; set; } LL Key { get; set; } } //普通类继承泛型接口时要指定泛型的变量类型 class Test : TestInterFacestring, float { public string Value { get; set; } public float Key { get; set; } } //普通类中的泛型方法 class Test2 { //泛型作为参数传递 public void TestFunT, K(T val, K ke) { Console.WriteLine(第一个泛型参数 val 第二个泛型参数 ke); } //泛型作为内部逻辑处理 public void TestFunT() { T t default;//不论泛型后续被指定为什么变量类型均为默认类型 Console.WriteLine(t); } //泛型作为返回值(确保默认) public T TestFunT(string s) { return default(T); } } //泛型类中的泛型方法 class Test2T { public T value; //泛型类中的泛型方法与泛型类指定的占位符不能相同 public void TestFunK(K k) { Console.WriteLine(${k}); } } //利用泛型优化数组指定所装元素的具体类型避免了装箱拆箱 class ArrayListT { private T[] array; public void Add(T value) {} public void Remove(T value) {} } class Program { static void Main(string[] args) { //实例化泛型类的对象时要指定泛型的变量类型 TestClassint,string t new TestClassint, string(); t.value 10; t.key eee; Console.WriteLine(t.value); Console.WriteLine(***************************); TestClassString,bool t2 new TestClassString, bool(); t2.value abc; t2.key true; Console.WriteLine(t2.value); Test2 tt new Test2(); Console.WriteLine(***************************); //调用普通类中的泛型方法时要指定泛型的变量类型 tt.TestFunstring, float(abcdefg, 3.1f); tt.TestFunbool(); Console.WriteLine(***************************); Test2int tt2 new Test2int(); tt2.TestFunfloat(6.5f); /*当泛型类的泛型与其内部泛型方法的泛型指定了相同的变量类型时 优先调用泛型方法指定的变量类型 */ tt2.TestFunint(3); /* 泛型类内以泛型作为参数的泛型方法的调用时 允许不写出泛型类型而根据括号内的参数类型自动判断 */ tt2.TestFun(yuio); tt2.TestFun(4); } } }

相关新闻

计算机毕业设计之lasso+L1的能源行业电量预测

计算机毕业设计之lasso+L1的能源行业电量预测

Lasso_L1,即Lasso回归方法,在能源行业的电量预测中被广泛应用。Lasso回归通过在目标函数中加入L1正则化项,对回归系数施加稀疏性约束,使得模型中的大部分系数趋于零,从而实现特征选择的效果。在电量预测中,…

2026/7/28 20:20:22 阅读更多 →
2026低空经济新蓝海:无人机维修技师,比飞手更稀缺的高薪刚需

2026低空经济新蓝海:无人机维修技师,比飞手更稀缺的高薪刚需

摘要:本文揭示了低空经济中一个被忽视的黄金赛道——无人机维修。面对飞手岗位饱和、竞争激烈的现状,无人机装调检修工正面临巨大人才缺口,供需比高达40:1。文章深入分析了维修岗位的长期刚需性、官方证书的政策含金量、清晰的薪资梯度以及适…

2026/7/26 13:25:58 阅读更多 →
从这次SMT贴片加工体验里,我总结出靠谱代工的关键标准

从这次SMT贴片加工体验里,我总结出靠谱代工的关键标准

小批量也能有高良率?听听这些被SMT代工“坑”过的人怎么说 在电子制造领域,SMT贴片看似是标准化流程,实则暗藏玄机。不少中小客户都经历过这样的窘境:报价诱人,交货后却发现空焊、偏移频发;沟通时承诺“全程…

2026/7/28 20:46:19 阅读更多 →

最新新闻

【信息科学与工程学】【产品体系】第三十九篇 IT产品系列需求01 互联网行业的需求

【信息科学与工程学】【产品体系】第三十九篇 IT产品系列需求01 互联网行业的需求

需求评级的通用方程式 每条需求都按下面这个方程评级(R 越高越 urgent): R=MPIC​ 符号 含义 取值范围 P 发生概率(漏洞被利用 / 供应中断 / 人为恶意) 0–1 I 影响面(受影响用户数 / 业务规模,归一化 0–1) 0–1 C 合规权重(对应法规的强制等级:等保二级…

2026/7/28 22:32:17 阅读更多 →
go-nebulas 常见问题解答:新手开发者必看的 10 个技术要点

go-nebulas 常见问题解答:新手开发者必看的 10 个技术要点

go-nebulas 常见问题解答:新手开发者必看的 10 个技术要点 【免费下载链接】go-nebulas Official Go implementation of the Nebulas protocol. 项目地址: https://gitcode.com/gh_mirrors/go/go-nebulas go-nebulas 是Nebulas协议的官方Go语言实现&#xff…

2026/7/28 22:32:17 阅读更多 →
HarmonyOS应用开发实战:猫猫大作战-@State 数组项替换的浅观察陷阱、@Observed 数组深观察机制、ForEach 密钥与项替换的协

HarmonyOS应用开发实战:猫猫大作战-@State 数组项替换的浅观察陷阱、@Observed 数组深观察机制、ForEach 密钥与项替换的协

前言 上一篇我们用 Observed ObjectLink 让「改猫咪内部属性」直接触发重渲染。但游戏中还有种操作——替换数组某一项:合并时把 cats[0] 替换成新等级的猫、升级时把 inventory[3] 换成新道具。this.cats[0] newCat 这种数组项替换,浅观察的 State 监…

2026/7/28 22:32:17 阅读更多 →
Unix操作系统设计实验指导 --- 20个实验步骤及代码

Unix操作系统设计实验指导 --- 20个实验步骤及代码

Unix操作系统设计实验指导 --- 20个实验步骤及代码 摘要:以下是针对“Unix操作系统设计”课程的20个实验设计。这些实验基于Unix-like系统(如Linux),旨在帮助学生理解操作系统核心概念,包括进程管理、文件系统、内存管理、系统调用和内核相关操作。实验使用C语言编…

2026/7/28 22:32:17 阅读更多 →
解锁Blink本地存储:blinkpy视频下载高级技巧与最佳实践

解锁Blink本地存储:blinkpy视频下载高级技巧与最佳实践

解锁Blink本地存储:blinkpy视频下载高级技巧与最佳实践 【免费下载链接】blinkpy A Python library for the Blink Camera system 项目地址: https://gitcode.com/gh_mirrors/bl/blinkpy Blink相机系统的本地存储功能是保护家庭安全的重要一环,而…

2026/7/28 22:32:17 阅读更多 →
国产数据库基于PostgreSQL的创新之路:从兼容到超越的技术实践

国产数据库基于PostgreSQL的创新之路:从兼容到超越的技术实践

如果你是一名数据库工程师,或者在过去几年里关注过国产数据库的新闻,你很可能听过这样的说法:“很多国产数据库都是基于 PostgreSQL 改的”。这句话背后,是赞誉、是质疑,还是一个被简化了的复杂现实?当“自…

2026/7/28 22:31:17 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻