List泛型集合之基本使用

List泛型集合之基本使用

数组

//变量.单个数据

int numA = 10;

float numB = 3.14f;

bool isstart = false;

Console.WriteLine("{0} - {1} - {2}",numA,numB,isstart);

//数组.int类型数组

int[] numC = new int[3];

numC[0] = 10;

numC[1] = 20;

numC[2] = 30;

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

{

Console.WriteLine(numC[i]);

}

//数组.float类型数组

float[] numD = new float[] { 1.2f, 2.4f, 3.5f, 5.5f };

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

{

Console.WriteLine(numD[i]);

}

//数组.bool类型数组

bool[] isStarts = new bool[3] { false, false, true };//明确写下了数组内有多少成员,括号内就要有多少

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

{

Console.WriteLine(isStarts[i]);

}

我们在使用数组管理数据的时候,是需要预先知道数组的长度的。但是在我们实际的开发过程中,很多数据往往无法事先知道一共有多少,在面对这些数据的时候,就无法使用数组来进行管理了。

数据结构

数据结构是计算机存储、组织、管理数据的的方式。

数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。

集合结构

C#中提供了一系列特殊功能的类,这些类可以存储任意类型的对象,并且长度是可变的,他们统称为集合。

在C#编程语言中,集合结构有两种:泛型集合,非泛型集合。

泛型集合:只能存储固定类型的对象的一种集合。

要使用泛型集合,我们必须引入对应的命名空间:

System.Collections.Generic

List

如果看到后面又跟着“”,就可以知道这是一个泛型。

"T"的位置可以放上任何类型。

"T"的位置放上什么类型,这个集合就只能存这个类型的对象、或者数据。

List是一个C#内置的一个类,是类我们就可以实例化出对象。

List本质和数组是一样的。

因为List这个类的内部其实是维护了一个数组。

但是List比数组灵活,这个类封装了很多方便我们操作这个内部数组的各种方法,我们可以方便的对数据进行增加,删除,修改等操作,且List的长度是可以动态改变的,在实例化 List类型对象时,不需要指定长度。

List基本使用

1.创建泛型集合

①首先引入命名空间:

using System.Collections.Generic;

②List<类型>集合名= new List<类型>();

⒉.集合数据操作心①增加数据

集合名.Add ( Value)ll往集合中添加数据;

往集合中添加,数据会不断的添加到集合中,形成一种类似于排队的效果。

②查询数据

集合名[索引I取出指定索引位置的数据;

List的索引和数组一样,也是从0开始;

集合的长度可以通过“集合名.Count”这个属性来取得;

③删除数据

集合名.RemoveAt(索引)

删除指定索引位置的数据;.

该索引位置的数据被删除后,该索引后面的数据的索引会自动被调整;(根据值所在的位置,也就是索引进行删除)

④修改数据

集合名[索引]=新值;l给指定索引的的数据重新赋值;

List管理对象

1.对象类定义

定义一个“RPG武器类”,实例化出来的每个对象都代表壬把武器。这个类包含基本字段:

①编号[int] ②名字[string] ③攻击力[int]

并完成相应的属性,构造方法。

using System;

using System.Collections.Generic;

using System.Text;

namespace _03

{

class weapon

{

private int id;

private string name;

private int attack;

public int Id

{

get { return id; }

set { id = value; }

}

public string Name

{

get { return name; }

set { name = value; }

}

public int Attack

{

get { return attack; }

set { attack = value; }

}

public weapon(int id,string name,int attack)

{

this.id = id;

this.name = name;

this.attack = attack;

}

public override string ToString()

{

return string.Format("id:{0}-name:{1}-attack:{2}", id, name, attack);

}

}

}

2.List管理对象

①定义一个武器集合;

②实例化单个物品,并添加到集合中;

③从集合中删除指定的物品;

④修改集合中指定物品的信息;

⑤查询显示集合中的数据。

using System;

using System.Collections.Generic;

namespace _03

{

class Program

{

static void Main(string[] args)

{

//武器集合的定义

List weapons = new List();

//实例化一把武器

weapon item = new weapon(1, "枪", 100);

weapons.Add(item);

weapons.Add(new weapon(2, "刀",50));

weapons.Add(new weapon(3, "箭",50));

weapons.Add(new weapon(4, "棍",30));

//常规删除

weapons.RemoveAt(1);

//针对名字删除

for (int i = 0; i < weapons.Count; i++)

{

if (weapons[i].Name =="刀")

{

weapons.RemoveAt(i);

}

}

for (int i = 0; i < weapons.Count; i++)

{

Console.WriteLine(weapons[i]);//打印一个对象时,默认使用ToString方法

}

Console.ReadKey();

}

}

}

用户管理系统

MVC简介

MVC是软件开发行业比较经典的设计模式,是一种代码开发的思想和套路。将要实现的某个功能分成三个部分:

V: View [视图层],也就是界面,主要负责和用户进行输入输出的交互;

C: Controller [控制器层],负责处理该功能的逻辑部分;

M: Model [模型层],主要对数据进行操作;

这里以网站的登录页面为例进行说明:

Dictionary

Dictionary集合是一种“键值对”集合。

该集合中的每个数据都是有两部分组成的,键和值,就和中国人的名字是有姓和名组成的,是一样的道理。

在键值对集合中,我们是根据“键”去找值的,这一点和List不同。

在键值对集合中,键必须是唯一的,而值是可以有重复的。

List泛型集合,我们只限定了数据(T)的类型;而在Dictionary泛型集合中,我们要分别限定键(K)

和值(V)的类型。

Dictionary基本使用

1.创建泛型集合

①首先引入命名空间:using System.Collections.Generic;

②Dictionary集合名=new Dictionary();

⒉.集合数据操作;

①增加数据

集合名.Add (K,V)ll往集合中添加数据;

Dictionary的键是唯一的,不能添加两个同键名的数据。

②查询数据

集合名[键名]

取出指定键名所对应的数据;

集合的长度可以通过“集合名.Count”这个属性来取得。

③删除数据

集合名.Remove(键名)I/删除指定键名所对应的数据;

④修改数据

集合名[键名]=新值;l给指定键名所对应的数据重新赋值;

⑤遍历字典集合

foreach (var item in dic.Keys) //var代表不定类型(任意类型)

{

Console.writeLine( r{0}:{1}", item,dic[item]);

}

相关推荐

巴西世界杯开幕歌 重温巴西世界杯开幕盛况
365best官网

巴西世界杯开幕歌 重温巴西世界杯开幕盛况

📅 07-12 👁️ 6420
远程收款码办理流程详解(包含申请和使用步骤)
365bet网络娱乐

远程收款码办理流程详解(包含申请和使用步骤)

📅 06-30 👁️ 9345
无法下载/登录
365bet网络娱乐

无法下载/登录

📅 08-16 👁️ 1385
瓜子脸剪什么发型好看,瓜子脸必剪5款气质发型,轻松打造女神氛围感
钟离春真正死因探析
365bet体育投注地

钟离春真正死因探析

📅 07-02 👁️ 5508
中海云筑·御云府
365best官网

中海云筑·御云府

📅 10-31 👁️ 1498