C#:ArrarList集合,HashTable集合,List泛型集合,Dictionary泛型集合

数组、集合、泛型集合

一、数组

必须规定类型,必须规定长度; 

1.定义

int[ ] i = new int[5];  

int[] j = new int[]{1,2,3,4,5};

for循环需给初值,步长,末值,foreach则不需要,它是自动遍历集合体中所有值

for循环可用于任何重复行为,foreach循环只能用于遍历

foreach循环遍历速度比for循环快

foreach不能对数据进行修改

2.数组的遍历:

Console.Write(i[0]);  //直接输出索引值;

for(int a = 0; a < i.Length; a++)

{ //利用for循环遍历所有数值;

      Console.Write(i[a]);

 

foreach(int x in i)

{ //利用foreach输出所有数值;

     Console.Write[x];

 

4.二维数组:

int[ , ] erwei = new int [2,3];  //数组长度可以不相同

int[ , ] erwei2 = new int[ , ]{ {1,2,3}, {1,2,3} };  //二位数组长度必须相同

erwei[1, 2] = 1279999;  //数组赋值从索引值从0开始,第一个数值定位哪个数组,第二个数值定位当前数组的位置;

 

二、集合ArrayList

不需要规定类型、长度; 

ArrayList提供添加,删除和插入某一范围元素的方法,但在数组中,只能一次获取或设置一个元素

ArrayList提供将只读和固定大小包装返回到集合的方法,而数组不提供

ArrayList只能是一维形式,而数组可以提供多维的

数组的长度用.legth,集合的长度用.Count

1.定义:

ArrayList arr = new ArrayList();  //需要添加using.System.Collections;类

DateTime dt = new DateTime(1995,06,29);  //定义一个时间

 

2.赋值:

arr.Add("qaz");  //赋值

arr.Add(1234);  //赋值

arr.Add(dt);  //赋值

Console.Write(arr[0]);  //输出索引值

 

3.遍历:

foreach(var x in arr)  //由于不知道数据类型,所以用var类型代替,for循环同理;

{//foreach遍历

      Console.WriteLine(arr[]);

4.删除:

删除后索引值会重新排;

arr.Remove["qaz"];  //删除指定数值;

arr.RemoveAT[1];  //删除指定索引值的数值;

 

5.插入:

arr.Insert(2,"孙晓");  //插入索引值前面的位置;

 

三、泛型集合

不规定长度、规定类型

1.定义:

List<string> ilist = new List<string>();

2.赋值:

ilist.Add("1234");  //赋值

3.插入:

ilist.Insert(1,"孙晓");  //插入

4...

泛型集合使用方法和集合大致相同;

能用泛型就不用集合


集合ArrayList

using System;
using System.Collections;

namespace _01_ArrayList
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList arrayList = new ArrayList();//有三个方式的重载,第二个方式可以传集合,数组
            //向集合增加元素,object类型,即任意类型
            //看空间增长方式
            arrayList.Add(10);
            Console.WriteLine("集合的元素个数为:{0}", arrayList.Count);
            Console.WriteLine("集合现在的容量:{0}", arrayList.Capacity);

            arrayList.Add("10");
           
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在.NET Framework中,集合是一种用于存储和操作数据的数据结构。集合提供了比数组更灵活和功能更强大的方式来组织和访问数据。集合可以根据需要自动扩展大小,并且可以存储不同类的数据。与数组不同,集合的长度是动态的,可以根据需要进行调整,这使得集合更加灵活和高效。\[1\] 在.NET Framework中,常用的集合包括ArrayListList<T>、HashtableDictionary<TKey, TValue>、Stack、Queue、SortedList、SortedDictionary、HashSet、SortedSet和LinkedList。每种集合都有其特定的用途和优势。例如,ArrayListList<T>类似于数组,可以按索引访问元素,而HashtableDictionary<TKey, TValue>是键值对集合,可以通过键来访问值。Stack和Queue分别是堆栈和队列集合,SortedSet和SortedDictionary是有序集合,HashSet是无序且不重复的集合,LinkedList是双向链表集合。\[1\] 此外,.NET Framework还提供了ConcurrentDictionary<TKey, TValue>,它是一个线程安全的基于散列的字典,支持并发的多线程读写和线程安全的迭代。它实现了标准的IDictionary<TKey, TValue>接口,并提供了对字典的并发访问的支持。\[2\] 总之,.NET Framework提供了丰富的集合类,可以满足不同的需求。这些集合类可以帮助开发人员更方便地组织和操作数据,提高代码的效率和可读性。\[3\] #### 引用[.reference_title] - *1* [(06)基础强化:ArrayListHashtable,比较器Comparer,集合ListDictionary,V>,枚举器与迭代器,的...](https://blog.csdn.net/dzweather/article/details/130544279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [.NET中的集合](https://blog.csdn.net/kalvin_y_liu/article/details/118640527)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值