1. 泛型简介及优缺点
1.泛型是具有占位符(类型参数)的类,结构,接口和方法
2. 运行速度会因为类型转换的次数减少而加快
3. List<T>类是ArrayList类的泛型等效类。该类用大小可按需动态增加的数组实现lList<T>泛型接口
4. 索引为整数,从0开始
泛型的优点:
1. 性能好
2. 类型安全
3. 二进制代码重用
4. 代码的扩展
执行结果:
1.泛型是具有占位符(类型参数)的类,结构,接口和方法
2. 运行速度会因为类型转换的次数减少而加快
3. List<T>类是ArrayList类的泛型等效类。该类用大小可按需动态增加的数组实现lList<T>泛型接口
4. 索引为整数,从0开始
泛型的优点:
1. 性能好
2. 类型安全
3. 二进制代码重用
4. 代码的扩展
5. 命名约定
从普通数组到高级强类型数组:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Con23
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("=======关于数组从普通到强类型的总结============");
Console.WriteLine("\n*********普通滴**********");
int[][] pt = new int[3][];//就整个普通的锯齿数组吧
pt[0] = new int[3] { 1,2,3};
pt[1] = new int[5] {5,6,7,8,9 };
pt[2] = new int[8] { 1,2,3,4,5,6,7,8};
foreach (int[] i in pt)
{
foreach (int j in i)
{
Console.Write(j+" ");
}
Console.WriteLine("\n--------------------------");
}
Console.WriteLine("\n*********稍微高级点的Array**********");
Array arr1 = new object[] { "abc", "bcd", 1, 2, 3, 'a', 'b', 12.3f, 234.45d };//大杂烩,注意初始化的方式
Array arr2 = Array.CreateInstance("abc".GetType(), 5); //这里定义了数组的容量和所要装入的数据类型
//接下来是对arr2这个数组进行装数据,使用的是就是Array的SetValue方法
arr2.SetValue("Hello", 0);
arr2.SetValue("123", 1);
arr2.SetValue("中国", 2);
arr2.SetValue("千山万水", 3);
arr2.SetValue("123.456", 4);
for (int i = 0; i < arr1.Length; i++)
{
Console.Write(arr1.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法
}
Console.WriteLine("\n");
for (int i = 0; i < arr2.Length; i++)
{
Console.Write(arr2.GetValue(i).ToString()+" "); //注意这个特殊获取数组元素的方法
}
Console.WriteLine("\n\n*********再稍微高级点的ArrayList**********");
ArrayList al = new ArrayList() { "中国人民", "爱中国", 123, 123.456f };
al.Add("中安合正");
al.Add("http://www.umbo.com.cn");
al.Remove(123); //移除指定项
al.RemoveAt(0); //按索引号移除指定项
al.AddRange(new int[] {1,3,6,33 }); //添加一个范围
foreach (object o in al)
{
Console.Write(o.ToString()+" ");
}
Console.WriteLine("\n\n*********高级的泛型出现了List<T>**********");
List<string> l = new List<string>() {"How are you!","你好吗?","伟大的神啊!" };
l.Add("哈哈,我新来的!");
foreach (string s in l)
{
Console.Write(s+" ");
}
Console.ReadKey();
}
}
}
执行结果: