c# array arraylist 泛型list
1 array 数组 是存储相同类型元素的固定大小的数据的顺序集合。在内存中是连续存储的,所以索引速度非常快,而且赋值和修改元素也非常简单。
//定义字符串数组 大小为3
string[] str1 = new string[3];
str1[0] = "1";
str1[1] = "2";
str1[2] = "3";
//第二种赋值方式
string[] str2 = new string[] {"1","2","3" };
//第三种赋值方式
string[] str3 = { "1","2","3"};
2 arraylist对象的大小是按照其存储的数据来动态扩充的。声明arraylist对象不需要指定其长度。
//arraylist
ArrayList myal = new ArrayList();
myal.Add("HelloWorld");
myal.Add(12);
myal.Add(45.50);
arraylist可以存储不同类型的数据。装箱、拆箱特别麻烦。 arraylist会把所有插入的数据当做object对象来处理。
3 泛型 lsit<T> 数据类型是安全的,在声明list对象的时候,必须指定list集合内数据的对象类型.
List<string> myl = new List<string>();
myl.Add("123");
4 Dictionary Dictionary<string, string>是一个泛型
他本身有集合的功能有时候可以把它看成数组
他的结构是这样的:Dictionary<[key], [value]>
他的特点是存入对象是需要与[key]值一一对应的存入该泛型
通过某一个一定的[key]去找到对应的值
举个例子:
//实例化对象
Dictionary<int, string> dic = new Dictionary<int, string>();
//对象打点添加
dic.Add(1, "one");
dic.Add(2, "two");
dic.Add(3, "one");
//提取元素的方法
string a = dic[1];
string b = dic[2];
string c = dic[3];
//1、2、3是键,分别对应“one”“two”“one”
//上面代码中分别把值赋给了a,b,c
//注意,键相当于找到对应值的唯一标识,所以不能重复
//但是值可以重复
list泛型的使用
ArrayList list = new ArrayList();
ArrayList list = new ArrayList(5); //可变数组
list.Add("我"); //Add 添加 向数组中赋值索引为最末尾
list.Add("今年");
list.Add("18");
list.Add("岁了");
list.Add("18");
list.Add("岁了");
list.Add("18");
list.Add("岁了");
知识点
list.Contains();//查询数组中元素是否存在
list.CopyTo(); //赋值数组中的全部数据
list.RemoveAt();//根据索引把指定位置元素删除
list.Remove(); //移除的是元素
list.Clear();//清空数组
list.Count; //数组元素的个数
举例子
bool result = list.Contains("我"); //返回bool 查询数组中元素是否存在
string[] list1 = new String[15];
list.CopyTo(list1); //赋值数组中的全部数据 赋值的集合的数据类型要一致
oblect[] list1 = new oblect[15];
list.CopyTo(list1); //赋值数组中的全部数据 赋值的集合的数据类型可以不一致
list.RemoveAt(6); //把第七个元素移除
list.Remove("我"); //移除的是元素
int index=list.Count;
Console.WriteLine(index);
Console.WriteLine(list[6]);
foreach (object val in list)
{
Console.WriteLine(val);
}
Console.ReadKey();
#endregion
#region 泛型集合
List<int> intList=new List<int>(); //List泛型集合 类型是一致的
intList.Add(12);
intList.Add(23);
intList.Add(34);
int result = intList.IndexOf(34);//根据元素,查找返回该元素的索引位置,如果没有,返回-1 可以指定索引范围(34,0,2)
//知识点
intList.Add();//查询数组中元素是否存在
intList.CopyTo(); //赋值数组中的全部数据
intList.RemoveAt();//根据索引把指定位置元素删除
intList.Remove(); //移除的是元素
intList.IndexOf(); //根据元素,查找返回该元素的索引位置,如果没有,返回-1
intList.Insert(1,16);//将元素插入集合某处
//举例子
intList[0] = 15;
intList.Insert(0,16);//将元素插入集合某处 原来索引位置的元素值自动下移,整理向后移动
Console.WriteLine(intList[0]);
Console.ReadKey();
#endregion
#region 泛型数组练习
List<string> arrList=new List<string>();
arrList.Add("张三");
arrList.Add("年龄");
arrList.Add("身高");
arrList.Add("电话号码");
int a = arrList.Count;
string name = "";
for (int i = 0; i < arrList.Count; i++)
{
if(arrList[0].Equals("张三"))
{
arrList[0] += "今年的";
Console.WriteLine(arrList[0]);
}
}
Console.ReadKey();
c# array arraylist 泛型list的更多相关文章
- 类 Array Arraylist List Hashtable Dictionary
总结C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue 我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashT ...
- c#中Array,ArrayList 与List<T>的区别、共性与转换
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...
- Array,ArrayList,泛型List比较
在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...
- Array,ArrayList、List<T>、HashSet<T>、LinkedList<T>与Dictionary<K,V>
Array: 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. 但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候 ...
- [置顶] Array ArrayList LinkList的区别剖析
这是一个面试中我们经常被问到的问题 Array.ArrayList.LinkList之间的区别:Array.ArrayList.LinkList均属于泛型的范畴,都用来存放元素,主要区别是Array是 ...
- C# 集合类 Array,Arraylist,List,Hashtable,Dictionary...
我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashTable类.我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和 ...
- 解析C#中[],List,Array,ArrayList的区别及应用
[] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayLis ...
- .net中的Array,ArrayList和List
Array:任意类型,定长 ArrayList:任意类型,不定长 List:特定类型,不定长 Array和ArrayList是通过存储object类型实现可以存储任意类型数据,使用时需要拆箱和装箱
- Array,ArrayList 和 List<T>的选择和性能比较.
Array Class Provides methods for creating, manipulating, searching, and sorting arrays, thereby serv ...
随机推荐
- CMake入门之创建一个基于PCL的最小工程
最近在学习PCL,借助Cmake可省去繁琐的添加包含目录和依赖库操作. 一个典型的CMakeLists.txt内容通常为: cmake_minimum_required(VERSION 2.6 FAT ...
- 每位 Ubuntu 18.04 用户都应该知道的快捷键
作者: Abhishek Prakash 译者: LCTT XiatianSummer 了解快捷键能够提升您的生产力.这里有一些实用的 Ubuntu 快捷键助您像专业人士一样使用 Ubuntu. 您可 ...
- Git学习笔记 2,GitHub常用命令
廖雪峰Git教程 莫烦Git教程 莫烦Git视频教程 文件三个状态,add之后从工作区(原始状态)到暂存区,commit之后从暂存区到版本库 工作区 暂存区 版本库 unstage stage mas ...
- C++输入流
输出流基本概念 输出流定义在头文件中.大部分程序都会包含头文件,这个头文件又包含了输入流和输出流头文件.头文件还声明了标准控制台输出流cout. 使用输出流的最简单的方法是使用<<运算 ...
- C#+ArcGIS Engine 获取地图中选中的要素
转自 C#+ArcGIS Engine 获取地图中选中的要素 C#+ArcGIS Engine 获取地图中选中的要素 提供一种简单遍历获取地图中选中要素的方法,代码如下: List<IFeatu ...
- 自己定义View之Chart图标系列(1)——点阵图
近期要做一些图表类的需求,一開始就去github上看了看,发现开源的图表框架还是蛮多的.可是非常少有全然符合我的需求的.另外就是使用起来比較麻烦.所以就决定自己来造轮子了~~~ 今天要介绍的就是And ...
- Windows cannot find ". Make sure you typed the name correctly, and then try again
https://answers.microsoft.com/en-us/windows/forum/windows_10-desktop/windows-10-explorerexe-error-wi ...
- js正则学习分享
http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html http://www.cnblogs.com/tylerdonet/ ...
- cf 864 F. Cities Excursions
F. Cities Excursions There are n cities in Berland. Some pairs of them are connected with m directed ...
- AIX 软件包结构
AIX installp软件包结构 1. usr部分 2. / (root)部分 3. share部分 AIX 为了实现在客户机 / 服务器环境下安装的灵活性将安装包划分为 usr 部分 .r ...