List<T>用法总结【转】
2013-06-21 20:10
477 查看
List<T>用法总结
view plaincopy to clipboardprint?
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、 添加元素
view plaincopy to clipboardprint?
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、 插入元素
view plaincopy to clipboardprint?
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 、访问元素
view plaincopy to clipboardprint?
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、删除元素
view plaincopy to clipboardprint?
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 、搜索
view plaincopy to clipboardprint?
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 、排序
view plaincopy to clipboardprint?
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 、类型转换
view plaincopy to clipboardprint?
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、 只读集合
view plaincopy to clipboardprint?
ReadOnlyCollection<Racer> persss = ls5.AsReadOnly();
Console.WriteLine("输出只读集合");
foreach (Racer r in persss)
{
Console.WriteLine(r.name);
}
Console.ReadLine();
view plaincopy to clipboardprint?
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、 添加元素
view plaincopy to clipboardprint?
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、 插入元素
view plaincopy to clipboardprint?
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 、访问元素
view plaincopy to clipboardprint?
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、删除元素
view plaincopy to clipboardprint?
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 、搜索
view plaincopy to clipboardprint?
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 、排序
view plaincopy to clipboardprint?
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 、类型转换
view plaincopy to clipboardprint?
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、 只读集合
view plaincopy to clipboardprint?
ReadOnlyCollection<Racer> persss = ls5.AsReadOnly();
Console.WriteLine("输出只读集合");
foreach (Racer r in persss)
{
Console.WriteLine(r.name);
}
Console.ReadLine();
相关文章推荐
- 关于C#泛型列表List<T>的基本用法总结
- C#泛型列表List<T>基本用法总结
- [c#基础教程]C#泛型列表List<T>基本用法总结
- C#泛型列表List<T>基本用法总结http://space.itpub.net/14466241/viewspace-624132
- C#泛型列表List<T>基本用法总结
- C# List<> 容器用法截图
- C# 2.0泛型-Dictionary,List用法<转载?>
- java 中 List<Object []>的用法
- C# List<T>用法
- Android中List与Map<String,Object>及SimpleAdapter用来存储数据并展示出来的联合用法
- C# List<T>的用法小结
- C# 中 List.Sort运用(IComparer<T>)排序用法
- List<>.Contains<>的用法
- C# List<T>之distinct用法
- List<>用法
- C# List<T>的详细用法
- C#基础教程之IComparable用法,实现List<T>.sort()排序
- C# List<T>用法 (转载)
- C#List<T>用法
- C# List<T>用法