List<T>用法总结【转】
List<T>用法总结
- static void Main(string[] args)
- {
- Person p1 = new Person( "aladdin" , 20 );
- Person p2 = new Person("zhao", 10);
- Person p3 = new Person("jacky", 40);
- List<Person> list = new List<Person>(4);
- list.Add(p1);
- list.Add(p2);
- list.Add(p3);
- list.TrimExcess();
static void Main(string[] args)
{
Person p1 = new Person( "aladdin" , 20 );
Person p2 = new Person("zhao", 10);
Person p3 = new Person("jacky", 40);
List<Person> list = new List<Person>(4);
list.Add(p1);
list.Add(p2);
list.Add(p3);
list.TrimExcess();
1 、初始化集合器
List<int> l2 = new List<int>() { 1 ,2 ,3 ,4 ,5 };
2、 添加元素
- List<Person> lists = new List<Person>(10);
- list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
- List<Person> mylist = new List<Person>(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
List<Person> lists = new List<Person>(10);
list.AddRange( new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
List<Person> mylist = new List<Person>(new Person[] { new Person( "aladdin" ,20) , new Person("zhao",6)});
3、 插入元素
- mylist.Insert( 1 , new Person( "jacky" , 88 ));
- foreach (Person p in mylist)
- {
- Console.WriteLine(p.name);
- }
mylist.Insert( 1 , new Person( "jacky" , 88 ));
foreach (Person p in mylist)
{
Console.WriteLine(p.name);
}
4 、访问元素
- Console.WriteLine( "---------访问元素-----------");
- for (int i = 0; i < mylist.Count; i++)
- {
- Console.WriteLine(mylist[i].name);
- }
Console.WriteLine( "---------访问元素-----------");
for (int i = 0; i < mylist.Count; i++)
{
Console.WriteLine(mylist[i].name);
}
5、删除元素
- mylist.RemoveAt(0);
- List<Person> lists2 = new List<Person>(10);
- Person per1 = new Person( "aladdin" , 100 );
- Person per2 = new Person("zhao", 100);
- Person per3 = new Person("jacky", 100);
- lists2.Add(per1);
- lists2.Add(per2);
- lists2.Add(per3);
- lists2.Remove(per3);
- Console.WriteLine( "-------删除后的元素---------");
- foreach (Person per in lists2)
- {
- Console.WriteLine(per.name);
- }
mylist.RemoveAt(0);
List<Person> lists2 = new List<Person>(10);
Person per1 = new Person( "aladdin" , 100 );
Person per2 = new Person("zhao", 100);
Person per3 = new Person("jacky", 100);
lists2.Add(per1);
lists2.Add(per2);
lists2.Add(per3);
lists2.Remove(per3);
Console.WriteLine( "-------删除后的元素---------");
foreach (Person per in lists2)
{
Console.WriteLine(per.name);
}
6 、搜索
- List<Person> ls3 = new List<Person>(10);
- Person person1 = new Person("aladdin", 100);
- Person person2 = new Person("zhao", 100);
- Person person3 = new Person("jacky", 100);
- ls3.Add(person1);
- ls3.Add(person2);
- ls3.Add(person3);
- int index = ls3.IndexOf(person3);
- Console.WriteLine( "per3 的索引:" + index);
- int index2 = ls3.IndexOf(person3,2,1);
- Console.WriteLine(index2);
- int index3 = ls3.FindIndex(param => param.name.Equals("jacky"));
- Console.WriteLine( index3 );
- int index4 = ls3.FindLastIndex(p => p.name.Equals("aladdin"));
- Console.WriteLine(index4);
- Person ppp = ls3.Find( p => p.name.Equals("jacky")) ;
- Console.WriteLine(ppp);
- List<Person> newList = ls3.FindAll(p => p.age == 100);
- Console.WriteLine( "----------查找所有---------");
- foreach (Person p in newList)
- {
- Console.WriteLine(p.name);
- }
List<Person> ls3 = new List<Person>(10);
Person person1 = new Person("aladdin", 100);
Person person2 = new Person("zhao", 100);
Person person3 = new Person("jacky", 100);
ls3.Add(person1);
ls3.Add(person2);
ls3.Add(person3);
int index = ls3.IndexOf(person3);
Console.WriteLine( "per3 的索引:" + index);
int index2 = ls3.IndexOf(person3,2,1);
Console.WriteLine(index2);
int index3 = ls3.FindIndex(param => param.name.Equals("jacky"));
Console.WriteLine( index3 );
int index4 = ls3.FindLastIndex(p => p.name.Equals("aladdin"));
Console.WriteLine(index4);
Person ppp = ls3.Find( p => p.name.Equals("jacky")) ;
Console.WriteLine(ppp);
List<Person> newList = ls3.FindAll(p => p.age == 100);
Console.WriteLine( "----------查找所有---------");
foreach (Person p in newList)
{
Console.WriteLine(p.name);
}
7 、排序
- List<Person> ls4 = new List<Person>(10);
- Person person4 = new Person("aladdin", 100);
- Person person5 = new Person("zhao", 33);
- Person person6 = new Person("jacky", 44);
- ls4.Add(person4);
- ls4.Add(person5);
- ls4.Add(person6);
- ls4.Sort(MyComparFunc);
- Console.WriteLine( "------排序后的-------");
- foreach (Person p in ls4)
- {
- Console.WriteLine(p.name+ p.age );
- }
- Console.WriteLine( "--------颠倒循序--------");
- ls4.Reverse();
- foreach (Person p in ls4)
- {
- Console.WriteLine(p.name+ p.age);
- }
List<Person> ls4 = new List<Person>(10);
Person person4 = new Person("aladdin", 100);
Person person5 = new Person("zhao", 33);
Person person6 = new Person("jacky", 44);
ls4.Add(person4);
ls4.Add(person5);
ls4.Add(person6);
ls4.Sort(MyComparFunc);
Console.WriteLine( "------排序后的-------");
foreach (Person p in ls4)
{
Console.WriteLine(p.name+ p.age );
}
Console.WriteLine( "--------颠倒循序--------");
ls4.Reverse();
foreach (Person p in ls4)
{
Console.WriteLine(p.name+ p.age);
}
8 、类型转换
- List<Racer> ls5 = ls4.ConvertAll<Racer>((input) => new Racer(input.name)) ;
- Console.WriteLine( "-----------转换后的玩意--------");
- foreach (Racer r in ls5)
- {
- Console.WriteLine(r.name);
- }
List<Racer> ls5 = ls4.ConvertAll<Racer>((input) => new Racer(input.name)) ;
Console.WriteLine( "-----------转换后的玩意--------");
foreach (Racer r in ls5)
{
Console.WriteLine(r.name);
}
9、 只读集合
- ReadOnlyCollection<Racer> persss = ls5.AsReadOnly();
- Console.WriteLine("输出只读集合");
- foreach (Racer r in persss)
- {
- Console.WriteLine(r.name);
- }
- Console.ReadLine();
List<T>用法总结【转】的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
- [转]thinkphp 模板显示display和assign的用法
thinkphp 模板显示display和assign的用法 $this->assign('name',$value); //在 Action 类里面使用 assign 方法对模板变量赋值,无论 ...
随机推荐
- hdu 1987-How many ways(dp)
解析:假设机器人在(x,y)这个点,能量为power,那么可以到达它右下角曼哈顿距离小于等于power的地方,再以该点为起点继续搜索. 代码如下: #include<cstdio> #in ...
- Clone使用方法详解【转载】
博客引用地址:Clone使用方法详解 Clone使用方法详解 java“指针” Java语言的一个优点就是取消了指针的概念,但也导致了许多程序员在编程中常常忽略了对象与引用的区别,本文 ...
- Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客
Canvas之动态波浪效果_陈在真Sunny_chen_新浪博客 Canvas之动态波浪效果 (2012-04-26 09:04:51) 转载▼
- autoprefixer安装或者里sass的$mixin处理浏览器前缀
Autoprefixer是一个后处理程序,不象Sass以及Stylus之类的预处理器.它适用于普通的CSS,可以实现css3代码自动补全.也可以轻松跟Sass,LESS及Stylus集成,在CSS编译 ...
- HBase--DependentColumnFilter(参考例过滤器 )详解
DependentColumnFilter是一种允许用户指定一个参考列或引用列来过滤其他列的过滤器,过滤的原则是基于参考列的时间戳来进行筛选 . 官方说明: 大意:此过滤器提供两个参数--列族和列限定 ...
- 卡特兰数 Catalan数 ( ACM 数论 组合 )
卡特兰数 Catalan数 ( ACM 数论 组合 ) Posted on 2010-08-07 21:51 MiYu 阅读(13170) 评论(1) 编辑 收藏 引用 所属分类: ACM ( 数论 ...
- MFC学习之程序执行过程梳理
*首先利用全局变量对象theApp启动应用程序.这是由于这个全局对象,基类CWinApp中this的指针才干指向这个对象.假设没有这个全局对象,程序在编译时不会出错,但在执行时就会出错. *调用全局应 ...
- MVCC图示
磨砺技术珠矶,践行数据之道,追求卓越价值 回到上一级页面:PostgreSQL内部结构与源代码研究索引页 回到顶级页面:PostgreSQL索引页 [作者:高健@博客园 luckyjackgao ...
- ffmpeg调试相关知识点
1.若要调试FFMPEG,在编译时应当在configure时,加上 --enable-debug --disable-asm 注:在调试x264时就应该加上这两个配置选项,方能调试 2.make in ...
- protobuf NET使用
首先,开源项目地址为: protobuf NET的GITHUB地址 下载下来后,打开项目,找到目录:Core/protobuf-net,生成一下,然后就可以在bin里得到protobuf-net.dl ...