当前位置: 首页 > news >正文

网站备案文件防止域名失效 请牢记

网站备案文件,防止域名失效 请牢记,网网站设计网,19网站建设文章目录 前言1.什么是集合#xff1f;2.非泛型集合#xff08;了解即可#xff09;2.1常见的非泛型集合 3.泛型的概念4.常用的泛型集合4.1 List T T T4.2 DictionaryTKey, TValue4.3 Queue T T T4.4 S t a c… 文章目录 前言1.什么是集合2.非泛型集合了解即可2.1常见的非泛型集合 3.泛型的概念4.常用的泛型集合4.1 List T T T4.2 DictionaryTKey, TValue4.3 Queue T T T4.4 S t a c k T StackT StackT4.5 H a s h S e t T HashSetT HashSetT 5. 自定义泛型类和方法5.1 自定义泛型类5.2 自定义泛型方法 前言 C# 中集合Collection是一组有序的数据结构用于存储和管理一组对象。泛型Generics则是 .NET Framework 中一个强大且灵活的功能它允许我们创建类型安全且高效的集合。本篇文章将详细介绍 C# 中的集合类型、泛型的使用以及如何结合两者高效管理数据。 1.什么是集合 集合是一组可以存储、管理多个数据的对象容器。集合与数组类似但集合的容量可以动态调整不必在声明时指定长度。C# 中的集合分为两种类型 非泛型集合如 ArrayList、Hashtable可以存储不同类型的数据但缺乏类型安全性需进行频繁的类型转换。泛型集合如 List、DictionaryTKey, TValue只能存储指定类型的数据提供了更好的性能和类型安全性。 2.非泛型集合了解即可 早期的集合类位于 System.Collections 命名空间中包括 ArrayList、Hashtable 等。非泛型集合由于可以存储不同类型的数据灵活性较强但在存储和取出数据时需进行类型转换且缺乏编译时类型检查容易出现类型不匹配的错误。 2.1常见的非泛型集合 ArrayList类似数组但大小可动态调整存储任何类型的数据。Hashtable键值对的集合键和值均可为任意类型。 示例使用 ArrayList 和 Hashtable using System; using System.Collections;class NonGenericCollections {static void Main(){// ArrayList 示例ArrayList arrayList new ArrayList();arrayList.Add(1);arrayList.Add(Hello);arrayList.Add(3.14);foreach (var item in arrayList){Console.WriteLine(item); // 输出1, Hello, 3.14}// Hashtable 示例Hashtable hashtable new Hashtable();hashtable[name] Alice;hashtable[age] 25;foreach (DictionaryEntry entry in hashtable){Console.WriteLine(${entry.Key}: {entry.Value});}} } 3.泛型的概念 泛型Generics允许我们在创建类、接口或方法时定义一个或多个类型参数通常用 表示并在使用时指定具体的类型。这种机制在运行时提供类型安全检查避免了频繁的类型转换。 泛型的优点 类型安全在编译时检查类型一致性避免类型错误。性能提升减少装箱boxing和拆箱unboxing提高效率。可读性和可维护性代码更清晰、直观不需要强制类型转换。 4.常用的泛型集合 C# 中常用的泛型集合类位于 System.Collections.Generic 命名空间中。以下是一些常用的泛型集合类 4.1 List T T T L i s t T ListT ListT 是一种动态数组可根据需要动态调整大小。List 提供了便捷的方法来操作列表中的元素如添加、删除、排序、搜索等。 using System; using System.Collections.Generic;class ListExample {static void Main(){Listint numbers new Listint { 1, 2, 3 };numbers.Add(4);numbers.Remove(2);foreach (int number in numbers){Console.WriteLine(number); // 输出1, 3, 4}// 检查列表中是否包含某个元素bool containsThree numbers.Contains(3); // trueConsole.WriteLine(包含3吗 containsThree);} } 4.2 DictionaryTKey, TValue DictionaryTKey, TValue 是一种键值对集合允许通过键快速访问对应的值。键在字典中是唯一的但值可以重复。 using System; using System.Collections.Generic;class DictionaryExample {static void Main(){Dictionarystring, int ages new Dictionarystring, int{{ Alice, 25 },{ Bob, 30 }};ages[Charlie] 35;foreach (var pair in ages){Console.WriteLine(${pair.Key}: {pair.Value});}// 检查是否存在特定键if (ages.ContainsKey(Alice)){Console.WriteLine(Alice的年龄是: ages[Alice]);}} } 4.3 Queue T T T Q u e u e T QueueT QueueT 是一个先进先出FIFO的集合。适合用在需要按顺序处理任务的场景例如任务队列。 using System; using System.Collections.Generic;class QueueExample {static void Main(){Queuestring queue new Queuestring();queue.Enqueue(Task1);queue.Enqueue(Task2);while (queue.Count 0){string task queue.Dequeue();Console.WriteLine(处理: task);}} } 4.4 S t a c k T StackT StackT S t a c k T StackT StackT 是一个后进先出LIFO的集合。适合用于临时存储数据或实现特定算法如递归。 using System; using System.Collections.Generic;class StackExample {static void Main(){Stackstring stack new Stackstring();stack.Push(Page1);stack.Push(Page2);while (stack.Count 0){string page stack.Pop();Console.WriteLine(返回: page);}} } 4.5 H a s h S e t T HashSetT HashSetT H a s h S e t T HashSetT HashSetT 是一个无序集合用于存储唯一值。适合用于需要唯一元素的场景如不重复数据的集合。 using System; using System.Collections.Generic;class HashSetExample {static void Main(){HashSetint set new HashSetint { 1, 2, 3 };set.Add(3); // 重复添加将被忽略set.Add(4);foreach (int item in set){Console.WriteLine(item); // 输出1, 2, 3, 4}} } 5. 自定义泛型类和方法 5.1 自定义泛型类 可以创建自己的泛型类使其在不同的数据类型上复用。以下是一个简单的泛型栈实现 using System;class GenericStackT {private T[] elements;private int index 0;public GenericStack(int size){elements new T[size];}public void Push(T item){elements[index] item;}public T Pop(){return elements[--index];} }class Program {static void Main(){GenericStackint stack new GenericStackint(5);stack.Push(1);stack.Push(2);Console.WriteLine(stack.Pop()); // 输出2} } 5.2 自定义泛型方法 泛型方法允许在方法中定义类型参数使用方式和泛型类类似。以下是一个交换两个变量值的泛型方法示例 using System;class Program {static void SwapT(ref T a, ref T b){T temp a;a b;b temp;}static void Main(){int x 10, y 20;Swap(ref x, ref y);Console.WriteLine($x {x}, y {y}); // 输出x 20, y 10} }
http://www.hkea.cn/news/14467959/

相关文章:

  • 上海自助建站费用公司seo推广营销网站
  • 在网站建设工作会议上的讲话网站标题可以修改吗
  • 安徽城乡住房建设厅网站哈尔滨品牌网站建设
  • 工程类招聘网站哪个好专业网站建设全包
  • 城市建设的网站 政策法规自学网站平面设计
  • 重庆seo整站优化系统微信公众号的h5网站开发6
  • 电子商务网站开发实南宁网站建公司电话
  • 类似云盘 网站开发杭州网站建设交易
  • 网络推广网站有哪些建设网站商品怎么弄
  • 有源代码如何做网站我想做百度推广
  • 番禺网站制作技术做公司网站的尺寸一般是多大
  • 带后台的php网站模板个体工商户能做网站吗
  • 做网站的公司 杭州个人如何接外贸订单
  • 张家口网站设计域名ip地址查询
  • 娄底建设企业网站镇江网站制作咨询
  • 花样云做网站怎样Wordpress搜索结果页插件
  • 计算机网站开发毕业设计论文开题报告遵义市双控体系建设网站
  • 他人盗用公司资料建设网站怎么处理网站建设与管理试卷A
  • 站长之家0郑州全网营销推广
  • 合阳县建设局网站电子商务专业就业方向及就业岗位
  • 辽宁数据网站建设哪家便宜专业网站制作公司咨询
  • 企业网站建设物美价廉哪个免费自助建站系统最好用
  • 关键词挖掘网站网页设计top
  • 合肥门户网站制作建设设计素材网站破解
  • 西安网站建设 招聘宿州医疗网站建设
  • 网站制作公司违法wordpress 作者页面
  • wordpress注册qq邮箱配置夫唯老师seo
  • 长春网络公司做网站网站一般用什么语言做
  • 鹿泉网站制作公司wordpress 首页进不去
  • 西宁哪里做网站网页设计模板图片四张