iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#泛型集合实例怎么用
  • 515
分享到

C#泛型集合实例怎么用

2023-06-17 23:06:00 515人浏览 安东尼
摘要

小编给大家分享一下C#泛型集合实例怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!C# 泛型集合了解之前我们明白集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。C# 泛型是C# 2.0中的新增

小编给大家分享一下C#泛型集合实例怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

C# 泛型集合了解之前我们明白集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。C# 泛型是C# 2.0中的新增元素(c++中称为模板),主要用于解决一系列类似的问题。这种机制允许将类名作为参数传递给泛型类型,并生成相应的对象。将泛型(包括类、接口、方法、委托等)看作模板可能更好理解,模板中的变体部分将被作为参数传进来的类名称所代替,从而得到一个新的类型定义。泛型是一个比较大的话题,在此不作详细解析,有兴趣者可以查阅相关资料。

C# 泛型集合类用起来十分的方便快捷。在这篇随笔里面,我将用链表来模拟c#中的 List﹤T﹥ 类的行为,废话不多说,下面来看我的实现代码,代码中已经写了注释,所以不再对代码进行额外的说明:

using System.Collections;   class MyList﹤T﹥  {  private MyListnode firstNode;//首节点  private int count;//C# 泛型集合-节点计数     public MyList()  {  this.firstNode = null;  this.count = 0;  }  //C# 泛型集合-得到List长度  public int GetLength()  {  return this.count;  }   //增加一个节点  public void AddElement(T data)  {  MyListNode first = this.firstNode;  if(first==null)  {  this.firstNode=new MyListNode(data);  this.count++;  return;  }  while (first.next != null)  {  first = first.next;  }  first.next = new MyListNode(data);  this.count++;  }   //C# 泛型集合-删除一个节点  public bool Remove(T data)  {  MyListNode first = this.firstNode;  if (first.data.Equals(data))  {  this.firstNode = first.next;  this.count--;  return true;  }  while (first.next!=null)  {  if (first.next.data.Equals(data))  {  first.next = first.next.next;  this.count--;  return true;  }  }  return false;  }   //C# 泛型集合-得到指定索引上的集合元素  public T GetAtIndex(int index)  {  int innercount = 1;  MyListNode first = this.firstNode;  if (index ﹥ count)  {  throw new Exception("Index out of boundary");  }  else {  while (innercount ﹤ index)  {  first = first.next;  innercount++;  }  return first.data;  }  }   //在指定的索引上插入新的元素  public void InsertAtIndex(int index,T data)  {  int innercount = 1;  MyListNode first = this.firstNode;  if (index ﹥ count)  {  throw new Exception("Index out of boundary");  }  if (index == 1)  {  this.firstNode = new MyListNode(data);  this.firstNode.next = first;  }  else {  while (innercount ﹤ index - 1)  {  first = first.next;  innercount++;  }  MyListNode newNode = new MyListNode(data);  newNode.next = first.next;  first.next = newNode;  }  this.count++;  }   //C# 泛型集合-删除指定索引上的集合元素  public void RemoveAtIndex(int index)  {  int innercount = 1;  MyListNode first = this.firstNode;  if (index ﹥ count)  {  throw new Exception("Index out of boundary");  }  if (index == 1)  {  this.firstNode = first.next;  }  else {  while (innercount ﹤ index - 1)  {  first = first.next;  innercount++;  }  first.next = first.next.next;  }  this.count--;  }   //C# 泛型集合-删除集合中的所有元素  public void RemoveAll()  {  this.firstNode = null;  this.count = 0;  }   //为实现该集合类能用foreach进行遍历  public IEnumerator GetEnumerator()  {  MyListNode first = this.firstNode;  while (first!= null)  {  yield return first.data;  first = first.next;  }  }   //内部节点类  private class MyListNode  {  public T data { get; set; }//节点上的元素值  public MyListNode next { get; set; }//节点的下一个节点  public MyListNode(T nodeData)  {  this.data = nodeData;  this.next = null;  }  }  }

下面是C# 泛型集合对这个模拟类的使用:

class Program  {  static void Main(string[] args)  {  MyList﹤string﹥ ml = new MyList﹤string﹥();  ml.AddElement("xu");  ml.AddElement("jin");  ml.AddElement("lin");  ml.AddElement("love");  ml.AddElement("jasmine");  ml.InsertAtIndex(4, "fiercely");  ml.RemoveAtIndex(2);  ml.Remove("lin");  foreach (string s in ml)  {  Console.WriteLine(s);  }  }  }

看完了这篇文章,相信你对“C#泛型集合实例怎么用”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: C#泛型集合实例怎么用

本文链接: https://www.lsjlt.com/news/294277.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#泛型集合实例怎么用
    小编给大家分享一下C#泛型集合实例怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!C# 泛型集合了解之前我们明白集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。C# 泛型是C# 2.0中的新增...
    99+
    2023-06-17
  • C#程序中怎么使用泛型集合代替非泛型集合
    C#程序中怎么使用泛型集合代替非泛型集合,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。软件开发过程中,不可避免会用到集合,C#中的集合表现为数...
    99+
    2024-04-02
  • C#泛型集合类System.Collections.Generic
    目录一、定义泛型类二、从泛型类继承三、定义泛型运算符四、定义泛型结构五、定义泛型接口六、定义泛型方法1、普通类2、泛型类七、定义泛型委托1、通过泛型委托,委托的参数可以在以后定义。2...
    99+
    2024-04-02
  • C#泛型集合类型实现添加和遍历
    在"C#中List<T>是怎么存放元素的"中,分析了List<T>的源码,了解了List<T>是如何存放元素的。这次,就自定义...
    99+
    2024-04-02
  • C#怎么使用泛型集合存储不同类型的对象
    在C#中,您可以使用泛型集合来存储不同类型的对象。为此,您可以使用泛型类List或Dictionary<TKey, TValu...
    99+
    2024-04-09
    C#
  • C# Dictionary泛型集合有哪些内容
    这篇文章主要介绍“C# Dictionary泛型集合有哪些内容”,在日常操作中,相信很多人在C# Dictionary泛型集合有哪些内容问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# Dictionary...
    99+
    2023-06-17
  • C#值类型、引用类型、泛型、集合的表达式树怎么创建
    这篇文章主要介绍了C#值类型、引用类型、泛型、集合的表达式树怎么创建的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#值类型、引用类型、泛型、集合的表达式树怎么创建文章都会有所收获,下面我们一起来看看吧。一,定...
    99+
    2023-06-26
  • C#泛型接口实例应用
    这篇文章主要讲解了“C#泛型接口实例应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#泛型接口实例应用”吧!C# 泛型接口代码//Type parameter T&n...
    99+
    2023-06-17
  • C#泛型集合类List<T>如何使用
    这篇“C#泛型集合类List<T>如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#泛型集合类List&...
    99+
    2023-06-30
  • C#中泛型集合的使用方法有哪些
    今天小编给大家分享一下C#中泛型集合的使用方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SortedList<...
    99+
    2023-07-04
  • C# 泛型集合类List<T>使用总结
    目录为什么选择使用List,而不是使用Array,或者ArryList去重、交集、并集、差集操作重写Equals() 和 GetHashCode()简单使用C#中List可谓是使用最...
    99+
    2024-04-02
  • C#值类型、引用类型、泛型、集合、调用函数的表达式树实践
    目录一,定义变量二,访问变量/类型的属性字段和方法1. 访问属性调用静态类型属性调用实例属性/字段2. 调用函数调用静态类型的函数调用实例的函数三,实例化引用类型new给属性赋值创建...
    99+
    2024-04-02
  • C#泛型集合的相关知识点整理
    这篇文章主要讲解了“C#泛型集合的相关知识点整理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#泛型集合的相关知识点整理”吧!为什么要用C#泛型集合?在C# 2.0之前,主要可以通过两种方...
    99+
    2023-06-17
  • C#中各种泛型集合的使用方法总结
    本篇体验除Queue<T>和Stack<T>之外的其它泛型集合。 SortedList<TKey, TValue> SortedList<T...
    99+
    2022-11-13
    C# 泛型集合
  • c#泛型怎么使用
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • C#泛型的使用案例
    有这样一个有关汽车的类。 public class Car { public int ID { get; set; } public ...
    99+
    2022-11-13
    C# 泛型 案例
  • C# 泛型实现的实例分析
    这期内容当中小编将会给大家带来有关C# 泛型实现的实例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。C# 泛型实现在 .NET 2.0 中,C# 泛型在 IL(中间语言)和 CLR 本身中具有本机支持...
    99+
    2023-06-17
  • C#泛型编的实例讲解
    本篇内容介绍了“C#泛型编的实例讲解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C# 泛型编程实例:using System;&...
    99+
    2023-06-17
  • C#中的泛型怎么用
    这篇文章将为大家详细讲解有关C#中的泛型怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、简介泛型现在在任何一种语言中都被认为是一个高级的强有力的术语。当我在C++中***次接触模板时,我对之有些疑...
    99+
    2023-06-17
  • C#中怎么实现泛型处理
    C#中怎么实现泛型处理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#泛型处理的问题陈述考虑一种普通的、提供传统 Push() 和 Pop() 方法的数据结构(例如,堆栈)。...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作