C#进阶

news/2026/1/25 14:50:22/文章来源:https://www.cnblogs.com/hms-area/p/19529700

Arraylist

ArryList array = new ArrayList();

Stack

本质是object[]数组,后进先出

Stack stack = new Stack();
//压栈
stack.push(1);
//取
object v = stack.Pop();
//查,只能查看栈顶的内容
v = stack.peek;
//查看是否存在于栈中
stack.contains("123");
//清空
stack.Clear();
//遍历
stack.Count;
foreach(object item in stack)
{Console.WriteLine(item);
}
//将栈转换为object数组,遍历出来的顺序也是从栈顶到栈底
object[] array = stack.ToArray();
//循环弹栈
while(stack.Count > 0)
{object o = stack.Pop();Console.WriteLine(stack.Count);
}

Queue

//队列本质也是object[]数组,先进先出
Queue q = new Queue();
//增
Queue.Enqueue(1);
//取
object v = queue.Dequeue();
//查看队列头部元素但不会移除
v = queue.Peek();
//清空
queue.Clear();
//遍历
foreach(object item in queue)
{Console.WriteLine(item);
}
//循环出列
while(queue.Count>0)
{object o = queue.Dequeue();
}

Hashtable

//基于键的哈希代码组织起来的键/值对,主要作用是提高数据查询的效率
Hashtable hashtable = new Hashtable();
//增
hashtable.Add(1,"123");
hashtable.Add("123",2);
//注意:不能出现相同的键
//删,只能通过键去删除
hashtable.Remove(1);
//直接清空
hashtable.Clear();
//查,通过键查看值
Console.WriteLine(hashtable[1]);
//查看是否存在
//根据键检测
if(hashtable.ContainsKey(2))
{return true;
}
//根据值检测
if(hashtable.ContainsValue(1))
{return true;
}
//改,只能改键对应的值,无法修改键
hashtable[1]=100.2f;
//遍历
//遍历所有键
foreach(object item in hashtable.Keys)
{Console.WriteLine("键:"+item);Console.WriteLine("值:"+hashtable[item]);
}
//遍历所有值
foreach(object item in hashtable.Values)
{Console.WriteLine("值:"+item);
}
//键值对一起遍历
foreach(DictionaryEntry in hashtable)
{Console.WriteLine("键:"+item.key+"值:"+item.velue);
}

泛型

//泛型类
class TestClass<T>
{public T value;
}
//泛型接口
interface TestInterface<T>
{T value{get;set;}
}
class Test:TestInterface<int>
{public int value{get=>throw new Exception();set=>throw new Exception();}
}
class Program
{static void Main(string[] args){TestClass<int> t = new TestClass<int>();t.value = 1;TestClass<string> t2 = new TestClass<string>();t2.value = "123";}
}
//普通类中的泛型方法
class Test2
{public T TestFun<T>(T value){return value;}public void TestFun<T>(){//用泛型类型,在里面做一些逻辑处理T t = default(T);}
}
//泛型类中的泛型方法
class Test2<t>
{public T value;public void TestFun<K>(K k){console.WriteLine(k);}
}

泛型约束

//值类型
class Test1<T> where T:struct
{}
//引用类型
class Test1<T> where T:class
{}
//存在公共无参构造函数
class Test1<T> where T:new()
{}

List

本质是一个可变类型的泛型数组

//声明
List<int> list = new List<int>();
List<string> list2 = new List<string>();
//增
list.Add(1);
list2.Add("123");
//删
list.Remove(1);
//查
Console.WriteLine(list[0]);
//改
list[0] = 99;

Dictionary

拥有泛型的Hashtable

Dictioary<int,string> dic = new Dictionary<int,string>();
//增,不能出现相同键
dic.Add(1,"123");
dic.Add(2,"111");
//删,只能通过键去删除
dic.Remove(1);
//清空
dic.Clear();
//查,通过键查看值,找不到直接报错
Console.WriteLine(dic[1]);
//改
dic[1] = "222";

顺序存储和链式存储

顺序存储:用一组地址连续的存储单元依次存储线性表的各个数据元素
链式存储:用一组任意的存储单元存储线性表中的各个数据元素

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1214824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026年市场上有名的打包带厂家排行,市场上有实力的打包带直销厂家广营宏利满足多元需求

在工业制造与物流运输领域,打包带作为关键的紧固与封装材料,其性能与可靠性直接关系到货物安全与运输效率。随着制造业的升级和供应链管理的精细化,市场对打包带产品的需求正从基础的“捆扎”功能,向高强度、耐腐蚀…

BES(恒玄)蓝牙平台EQ 调试和设定

1.EQ调试原理 说这个部分是为了同学们更好的分析解决问题 打开所使用工程的target.mk文件,修改宏PC_CMD_UART ?= 1 同时关闭DEBUG=0 Bes提供了多种滤波方式,可在target.mk中进行配置,下图是我使用的配置,具体要怎么配置,可一个根据实际的项目需求更改。 然后我们看下…

将分散的Pytest测试脚本统一接入测试平台:FastAPI改造方案详解

在上一篇文章《Pytest 测试用例自动生成:接口自动化进阶实践》中,我们已经解决了“如何高效编写和维护接口自动化用例”的问题。 然而,随着业务的发展和团队规模的扩大,很多公司会选择开发自己的测试平台,以实现更…

基于模糊控制的MATLAB避障算法实现

一、算法原理与系统架构 模糊控制避障通过经验规则替代精确数学模型,适用于动态复杂环境。其核心模块包括:输入变量:障碍物距离、角度偏差、目标方向等隶属函数:将精确量转换为模糊集合(如"近"、"…

为什么网络上搜索不到“桑桥网络”这家公司了?

近期有客户在搜索引擎或社交平台上查找“桑桥网络”时,发现相关信息变少,甚至搜索不到公司官网或品牌资料,于是产生疑问:“桑桥网络是不是不做了?” 答案是:不是公司消失了,而是品牌升级了。桑桥网络已正式更名…

说说上海MNS2.0配电柜批量定制,如何选择厂家?

随着工业自动化与数字化转型的加速,低压配电系统作为企业生产运营的能源心脏,其稳定性、智能化水平直接决定了企业的生产效率与运维成本。MNS2.0配电柜作为新一代智能低压开关设备,已成为众多工业企业升级配电系统的…

2026年阜阳地区,为你分享专业的新能源汽修培训职业学校推荐

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家标杆职业学校,为学生及家长选型提供客观依据,助力精准匹配适配的职业教育伙伴。 TOP1 推荐:合肥东辰职业学校 推荐指数:★★★★★ | 口碑评分:合肥首推专…

自助KTV加盟哪家服务靠谱,长春鱼乐圈资料汇总

在自助KTV行业竞争愈发激烈的当下,一套成熟的加盟服务体系是创业者降低风险、快速盈利的核心保障。面对市场上鱼龙混杂的自助KTV加盟品牌,如何找到既靠谱又契合自身需求的合作伙伴?以下结合行业痛点与服务能力,为你…

2026年全国实力强的博士留学机构排名推荐,这些企业值得关注

(涵盖博士留学申请、科研背景提升、产学研人才对接等核心服务领域服务商推荐) 2026年全球高等教育竞争持续加剧,博士留学申请已从单一的材料递交升级为学术背景+科研能力+院校资源的综合比拼。无论是梦校offer冲刺、…

2025年成都火锅人气排行:3公里内口碑爆表的十大必吃店,牛肉火锅/麻辣烫/美食/市井火锅nbsp;成都火锅约会地点哪家好吃

成都火锅市场格局分析 作为川渝美食文化的代表,成都火锅市场近年来呈现出多元化发展趋势。根据大众点评、小红书等平台数据显示,方圆3公里范围内的火锅品牌竞争激烈,消费者更倾向于选择口碑优良、品质稳定的火锅品牌…

聊聊2026年别墅外墙砖靠谱厂家,广东和陶家居实力上榜

2026年家居建材行业持续升级,外墙砖作为建筑外立面的核心材料,其品质稳定性、耐候性与美学表现力直接决定建筑的使用寿命与视觉质感。无论是农村自建房的耐用需求、别墅工程的定制,还是新农村项目的批量交付,优质外…

读书笔记三:从需求到交付,坚守软件质量的核心底线

软件开发的最终目标,是交付一款满足用户需求、质量可靠的软件产品。而从需求提出到产品交付的整个过程,每一个环节都关乎软件质量,任何一个环节的疏漏,都可能导致软件缺陷,影响用户体验,甚至导致项目失败。邹欣老…

金属带材环保电镀费用知多少,哪家收费合理?

2026年新能源汽车、3C电子产业爆发式增长,金属带材与精密零部件的电镀工艺成为决定终端产品性能与寿命的关键环节。无论是超薄金属带材的高精度镀金、超厚零部件的耐腐蚀镀镍,还是全链路环保合规的电镀解决方案,优质…

详细介绍:STM32外设学习--DMA直接存储器读取--学习笔记。

详细介绍:STM32外设学习--DMA直接存储器读取--学习笔记。pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consola…

基于STM32的智能宠物监控设计与实现

目录 STM32智能宠物监控系统概述硬件设计软件设计功能实现应用案例扩展方向 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; STM32智能宠物监控系统概述 智能宠物监控系统基于STM32微控制器&#xff0c;结合传感器、摄像头、无线通信模…

基于STM32的智能家居安防系统

目录 STM32智能家居安防系统概述核心功能模块软件设计要点低功耗优化扩展功能典型硬件选型 源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; STM32智能家居安防系统概述 STM32系列微控制器因其高性能、低功耗和丰富的外设资源&#xff…

基于STM32的智能导盲杖设计与实现

目录硬件设计软件设计电源管理用户交互设计测试与优化源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;硬件设计 STM32微控制器作为核心处理器&#xff0c;通常选用STM32F103系列或STM32F4系列&#xff0c;因其低功耗和高性能特性。主控…

基于STM32的智能楼梯灯系统

目录系统概述硬件组成核心功能软件设计应用场景优势特点源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统概述 基于STM32的智能楼梯灯系统是一种结合嵌入式控制与传感器技术的自动化照明解决方案。该系统通过实时监测人体活动&#…

Vue 3 中的具名插槽仍然完全支持,Vue 2 的旧语法 Vue 3 中已废弃

Vue3中具名插槽的使用方式更加统一和简洁。新版本采用v-slot指令&#xff08;简写为#&#xff09;替代Vue2的slot和slot-scope属性&#xff0c;支持默认插槽、具名插槽和作用域插槽。子组件通过name属性定义插槽&#xff0c;父组件使用#插槽名语法插入内容。Vue3还增强了动态插…

2026年全国靠谱的股权激励公司排名,创锟股权激励咨询实力入选值得关注

在企业竞争日益激烈的当下,股权激励已不再是上市公司的专属工具,而是成为中小企业吸引人才、绑定核心团队、驱动战略落地的关键抓手。但股权激励是一项涉及战略、人力、法务、财税的系统工程,市场上鱼龙混杂的服务机…