1.C#的数组
2.C#的ArrayList和List
3.C#的Hashtable和Dictionary
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lesson7
{
class Program
{
static void Main(string[] args)
{//集合型的数据类型 并且实现了IEnumerable 适用于读取每次数据
List<int> listInt = new List<int>() { 1, 2, 3 };
foreach(var intInList in listInt)
{//循环中每次都会提取赋予变量
Console.WriteLine(intInList);
}
//数组是一个引用类型 System.Array
int[] number = new int[5];
string[,] name = new string[5, 4];
//这里还有一个数组的数组 就是每一行的数字不固定
byte[][] scores = new byte[5][];
for(int i=0;i<scores.Length;i++)
{
scores[i] = new byte[i + 3];
}
for(int i=0;i<scores.Length;i++)
{//可以看到每一排都是不一样的
Console.WriteLine("length of row {0} is {1}", i, scores[i].Length);
}
int[] number2=new int[5] {1,2,3,4,5};
int[] number3 = new int[] { 1, 2, 3, 4, 5 };
int[] number4 = { 1, 2, 3, 4, 5 };
string[,] name2 = { { "g", "k" }, { "q", "r" } };
//不能省掉 new int[] 要不默认就是多维数组
int[][] numbers2 = { new int[] { 1, 2, 3 }, new int[] { 5, 6, 7, 8 } };
foreach(var i in number2)
{
Console.WriteLine(i);
}
//System.Collection 进行添加和删除元素
ArrayList al = new ArrayList();//数组列表可以存储各种类型
al.Add(5);
al.Add(100);
al.Remove(5);
al.Add("iloveunity");
foreach(var i in al)
{
Console.WriteLine(i);
}
Console.WriteLine(al[0]);//这种列表对代码的安全性提出了考验,
//因为拿出来的不知道是什么元素
//现在比较推荐的做法是List,提高代码的质量
List<int> intList2 = new List<int>();
intList2.Add(500);
intList2.AddRange(new int[] { 501, 502 });//添加一串元素
Console.WriteLine(intList2.Contains(200));
Console.WriteLine(intList2.IndexOf(501));
intList2.Remove(200);
intList2.Insert(1, 1001);//插入元素
foreach (var i in intList2)
{
Console.WriteLine(i);
}
Hashtable ht = new Hashtable();
ht.Add("first", "i");
ht.Add("second", "love");
ht.Add(100, 1000);
Console.WriteLine(ht["second"]);
Console.WriteLine(ht[100]);
//同样hash表也是类型不安全的 ,因此我们的解决办法是 强类型
Dictionary<string, string> d = new Dictionary<string, string>();
//强制规定是字符串是key value也是字符串 但它不是线程安全的
d.Add("first", "i");
//ConcurrentDictionary是安全的
SortedList<int, int> sl = new SortedList<int, int>();
sl.Add(5, 105);
sl.Add(2, 102);
sl.Add(10, 99);//根据key值来排序的
foreach(var i in sl)
{
Console.WriteLine(i);
Console.WriteLine(i.Value);
}
//stack ,queue这是两个特殊的队列
Console.ReadLine();
}
}
}
相关推荐
数组是最基本的集合类型,它允许你存储相同类型的元素序列。例如,`int[] numbers = new int[5]` 创建了一个整数数组。列表(List)是动态大小的数组,可以在运行时添加或删除元素。队列(Queue)和栈(Stack)分别...
学习C#集合时,开发者需要熟悉这些泛型集合的接口、属性和方法,以便在实际开发中选择合适的集合类型来满足特定需求。例如,如果需要快速查找元素,哈希集和字典可能更适合;如果需要保持元素的顺序,列表和双向链接...
在C#编程语言中,集合是一组对象的容器,提供了方便的数据存储和管理方式。本文将深入探讨ArrayList、Stack、Queue以及Dictionary...通过实践和理解不同数据结构的特点,开发者可以根据实际需求选择最合适的集合类型。
总结来说,C#集合对象的遍历性能取决于其内部实现,如ArrayList和List基于数组,而Dictionary基于哈希表,DataSet则代表了关系数据的处理。选择合适的集合类型,以及优化遍历策略,对于提升C#应用程序的性能至关重要...
总的来说,C#集合类为开发者提供了丰富的工具来管理和操作数据。选择合适的集合类取决于具体需求,例如,是否需要保持元素插入顺序、是否需要快速查找(哈希表)或执行排序等。理解这些集合类的特性和用法对于编写...
在C#编程中,集合是数据存储和管理的基础,它们提供了灵活的方式来进行数据操作。本篇文章将重点关注四个常见的集合类型:ArrayList、List、...理解这些集合类型的性能差异是优化C#代码和提升应用程序效率的关键步骤。
在实际开发中,根据具体需求选择合适的集合类型,能有效地提高代码的效率和可维护性。在"集合练习"这个压缩包文件中,可能包含了各种集合操作的示例代码,供学习者参考和实践。通过实际操作,可以更好地理解和掌握...
这篇“c#集合ppt”可能是一个关于C#集合的演示文稿,通过PPT的形式深入浅出地介绍了集合的概念、类型以及使用方法。下面我们将详细探讨C#中的集合及其相关知识点。 1. **集合的概念**:集合是将多个元素组织在一起...
7. **集合与数据结构**:ArrayList、List、Dictionary, TValue>等都是常见的C#集合类型。面试题可能会测试你对这些集合的性能特性和使用场景的理解。 8. **异步编程**:C# 5.0引入了async/await关键字,使得异步...
在选择合适的集合类型时,应考虑以下几个方面: - **数据类型**:确保选择的集合支持所需的数据类型。 - **数据量**:数据量大时,考虑使用更高效的数据结构。 - **操作频率**:频繁的操作会导致某些集合的性能下降...
在C#编程中,集合是用于存储一组相同类型对象的数据结构...理解并熟练运用这些C#集合的基本操作和特性,将有助于编写出更高效、易维护的代码。在实际开发中,应根据需求选择最适合的集合类型,以达到最佳性能和可读性。
在C#编程语言中,数组和集合是两种重要的数据结构,它们用于存储和管理数据。本篇内容主要探讨了C#中的数组集合,包括数组的基本概念、操作以及集合对象的特性与优势。 首先,数组是一种固定大小的数据结构,用于...
C#的数据类型主要分为两大类:基本数据类型和引用数据类型。基本数据类型包括整型、浮点型、字符型、布尔型、空类型以及枚举和指针(仅限于unsafe代码)。引用数据类型则包括类、接口、数组和委托,它们都是对象的...
在.NET Framework Class Library (FCL) 中,提供了丰富的集合类型,这些集合类型是编程中不可或缺的工具。根据是否支持泛型特性,这些集合大致可以分为两类:泛型集合和非泛型集合。本文将详细探讨这两类集合的特点...
### C#集合容器(collection)详解 #### 一、集合的概念与分类 集合是C#语言中用于存储一组数据的一种机制,它可以是不同类型的对象。在.NET框架中,集合通过实现`System.Collections.ICollection`、`System....
在提供的“Ch1101”文件中,可能包含了演示以上集合用法的源代码,通过分析和运行这些示例,你可以深入理解C#集合的各种特性和应用场景。同时,实践编写和修改这些程序,将有助于提升你的C#编程技能。
C#中的集合主要分为两种类型:ArrayList和LinkedList,以及基于.NET Framework 2.0引入的Generic Collections,如List、Dictionary, TValue>等。Generic Collections的最大优点在于提供了类型安全,避免了不必要的...
"C#图表绘制集合"就是一个专为这类场景设计的控件库,它的功能强大且易于使用,类似微软的MSChart。接下来,我们将深入探讨这个控件库的核心特性及其在实际开发中的应用。 首先,我们来看一下数据的初始化。在图表...
在编程领域,Windows API(应用程序接口)是操作系统提供给开发者使用的功能调用集合,而C#是一种现代化的、面向对象的编程语言,广泛应用于构建Windows应用程序。了解Windows API与C#之间的数据类型对照表对于进行...