C#编程基础(中级)(五)——列表List的创建和使用,操作列表的属性和方法,泛型类,泛型方法
2019-02-25 20:21
1066 查看
1.列表List的创建和使用
- 列表的创建:
- 使用常规方式创建:
List<int> Name = new List<type>();
- 使用匿名类型创建:
var Name= new List<type>();
- 在创建列表时对其进行初始化 :
List<type> Name = new List<type>() { 100, 98, 99 };
与var Name = new List<type>() { 100, 98, 99 };
列表可以存储任何类型的数据,在创建列表对象的时候首先要指定你要创建的这个列表是什么类型的(泛型)
- 向列表中插入数据:
Add(); - 访问列表中的数据:
类似数组,通过下标的索引访问(索引从0开始)
例如:
class Program { static void Main(string[] args) { List<int> GodSScores = new List<int>(); GodSScores.Add(100); GodSScores.Add(99); Console.WriteLine(GodSScores[0]); Console.WriteLine(GodSScores[1]); } }
输出为
- 获取列表的长度(容量大小):
Capacity - 获取列表中存储数据的个数:
Count
例如:
class Program { static void Main(string[] args) { List<int> GodSScores = new List<int>(); GodSScores.Add(100); GodSScores.Add(99); int x = GodSScores.Capacity; int y = GodSScores.Count; Console.WriteLine(x + " " + y); } }
输出为
- 列表的遍历
与数组类似
- for循环
for( int i = 0; i < Name.Capacity; i++)
{
…
} - foreach循环
foreach(type temp in Name)
{
…
}
2.操作列表的属性和方法
- Capacity属性获取列表容量大小
- Count属性访问元素个数
- Add()方法添加元素
- Insert(index,value)方法插入元素(向某位置插入元素,其后每个元素的位置均后移一位)
- [index]访问元素
- RemoveAt(index)方法移除指定位置的元素
- IndexOf()方法是从前往后搜索,搜索到满足条件的就停止,取得一个元素所在列表中的索引位置并返回(注意是int类型),如果没有找到指定元素就返回-1
- LastIndexOf()方法是从后往前搜索,搜索到满足条件的就停止,取得一个元素所在列表中的索引位置(注意是int类型),如果没有找到指定元素就返回-1
- Sort()方法对列表中的元素进行从小到大排序
3.泛型类
- 泛型:
通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。 - 定义:
class Name
{
private T variable;
public Name(T parameter1, T parameter2)
{
…
}
}
注意:
当我们利用泛型类构造的时候,需要指定泛型的类型。
可以设置多个泛型类型。
例如:
class Vary <T> { private T a; private T b; public Vary(T a,T b) { this.a = a; this.b = b; } public string GetSum() { return a + " " + b; } }
若
class Program { static void Main(string[] args) { Vary<int> a = new Vary<int>(55, 66); //构造时也可以写成:var a = new Vary<int>(55,66); string b = a.GetSum(); Console.WriteLine(b); } }
输出为
4.泛型方法
定义一个方法,这个方法的参数类型可以是不确定的,当调用这个方法的时候再去确定方法的参数类型。
注意:
可以设置多个泛型类型,方法要设成static。
例如:
class Program { public static string Link<T, T1, t2, A>(T a,T1 b,t2 c,A d) { return a + " " + b + " " + c + " " + d; } static void Main(string[] args) { Console.WriteLine(Link<int, double, string, float>(3, 5.5, "yeah", 6.6f)); } }
相关文章推荐
- Python操作列表之List.insert()方法的使用
- 在Python中操作列表之List.append()方法的使用
- JAVA基础再回首(十六)——泛型的概述、使用、泛型类、泛型方法、泛型接口、泛型高级(通配符)
- C#使用泛型数组简单实现一个列表List
- C#使用Linq操作Xml文件(创建xml文件、增删改查xml文件节点信息)的方法
- [李景山php]每天laravel[019]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---路由
- vba编程不知道该使用什么对象属性方法实现操作的时候用宏录制来查阅代码
- 使用C#反射中的MakeGenericType函数,来为泛型方法和泛型类指定(泛型的)类型
- Python编程之列表操作实例详解【创建、使用、更新、删除】
- 使用elementUI的时候,使用Upload 上传的时候,使用 list-type 属性来设置文件列表的样式,before-upload方法失效
- C# - 创建List属性的简单方法
- Python操作列表之List.insert()方法的使用
- c#中Invoke使用方法(线程间操作无效: 从不是创建控件的线程访问它。那么创建它的线程是哪个线程?)
- jQuery编程基础精华02(属性、表单过滤器,元素的each,表单选择器,子元素过滤器(*),追加方法,节点,样式操作)
- [李景山php]每天laravel[018]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---准备关系模型
- NET C# List泛型集合 使用方法
- [李景山php]每天laravel[017]-laravel 中级任务--小白教程----实际操作-创建基础任务 to-do-list 案例 ---准备数据库
- 如何使用C#操作快捷方式(获取快捷方式属性、创建快捷方式)
- C#在方法或属性中使用sealed时的操作与原理
- 添加C# ProtoGen List set方法 ,使用反射设置属性的值