数组
//变量.单个数据 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>”,就可以知道这是一个泛型。
"T"的位置可以放上任何类型。
"T"的位置放上什么类型,这个集合就只能存这个类型的对象、或者数据。
List<T>是一个C#内置的一个类,是类我们就可以实例化出对象。
List<T>本质和数组是一样的。
因为List<T>这个类的内部其实是维护了一个数组。
但是List<T>比数组灵活,这个类封装了很多方便我们操作这个内部数组的各种方法,我们可以方便的对数据进行增加,删除,修改等操作,且List<T>的长度是可以动态改变的,在实例化 List<T>类型对象时,不需要指定长度。
List<T>基本使用
1.创建泛型集合
①首先引入命名空间:
using System.Collections.Generic;
②List<类型>集合名= new List<类型>();
⒉.集合数据操作心
①增加数据
集合名.Add ( Value)ll往集合中添加数据;
往集合中添加,数据会不断的添加到集合中,形成一种类似于排队的效果。
②查询数据
集合名[索引I取出指定索引位置的数据;
List<T>的索引和数组一样,也是从0开始;
集合的长度可以通过“集合名.Count”这个属性来取得;
③删除数据
集合名.RemoveAt(索引)
删除指定索引位置的数据;.
该索引位置的数据被删除后,该索引后面的数据的索引会自动被调整;(根据值所在的位置,也就是索引进行删除)
④修改数据
集合名[索引]=新值;l给指定索引的的数据重新赋值;
List<T>管理对象
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<T>管理对象
①定义一个武器集合;
②实例化单个物品,并添加到集合中;
③从集合中删除指定的物品;
④修改集合中指定物品的信息;
⑤查询显示集合中的数据。
using System; using System.Collections.Generic; namespace _03 { class Program { static void Main(string[] args) { //武器集合的定义 List<weapon> weapons = new List<weapon>(); //实例化一把武器 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<K,V>
Dictionary集合是一种“键值对”集合。
该集合中的每个数据都是有两部分组成的,键和值,就和中国人的名字是有姓和名组成的,是一样的道理。
在键值对集合中,我们是根据“键”去找值的,这一点和List<T>不同。
在键值对集合中,键必须是唯一的,而值是可以有重复的。
List<T>泛型集合,我们只限定了数据(T)的类型;而在Dictionary<K,V>泛型集合中,我们要分别限定键(K)
和值(V)的类型。
Dictionary<K,V>基本使用
1.创建泛型集合
①首先引入命名空间:using System.Collections.Generic;
②Dictionary<K类型,V类型>集合名=new Dictionary<K类型,V类型>();
⒉.集合数据操作;
①增加数据
集合名.Add (K,V)ll往集合中添加数据;
Dictionary的键是唯一的,不能添加两个同键名的数据。
②查询数据
集合名[键名]
取出指定键名所对应的数据;
集合的长度可以通过“集合名.Count”这个属性来取得。
③删除数据
集合名.Remove(键名)I/删除指定键名所对应的数据;
④修改数据
集合名[键名]=新值;l给指定键名所对应的数据重新赋值;
⑤遍历字典集合
foreach (var item in dic.Keys) //var代表不定类型(任意类型)
{
Console.writeLine( r{0}:{1}", item,dic[item]);
}
标签:int,List,weapons,集合,数组,泛型,数据 From: https://www.cnblogs.com/tenyuan/p/16644696.html