我先举个例子:
在vs2010中创建一个winform的解决方案,然后定义一个类person,person.cs 的代码如下:
using system;
using system.collections.generic;
using system.linq;
using system.text;
namespace test
{
public class person
{
public string name { get; set; }
public int age { get; set; }
public string six { get; set; }
public datetime birthday { get; set; }
}
}
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
然后拖入一个按纽,双击按纽,在里面添加的代码:
list<person> list = new list<person>();
person person = null;
for (int i = 0; i < 10; i++)
{
person = new person();
person.name = string.format("xxxx{0}", i);
person.age = 20 + i;
person.birthday = datetime.now.adddays(i);
person.six = i % 2 == 0 ? "女" : "男";
list.add(person);
}
string serialstr = jsonconvert.serializeobject(list);
list<person> listperson = new list<person>();
listperson = jsonconvert.deserializeobject<list<person>>(serialstr);
for (int i = 0; i < listperson.count; i++)
{
messagebox.show(listperson[i].name);
}
(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
以上就是一个简单的list8742468051c85b06f0a0af9e3e506b5c的用法实例。
c# list8742468051c85b06f0a0af9e3e506b5c用法
所属命名空间:using system.collections.generic;
list8742468051c85b06f0a0af9e3e506b5c类是 arraylist 类的泛型等效类。 该类使用大小可按需动态增加的数组实现 ilist8742468051c85b06f0a0af9e3e506b5c 泛型接口。
泛型的好处: 它为使用 c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。
一、 list的基础、常用方法:
1、list8742468051c85b06f0a0af9e3e506b5c mlist = new list8742468051c85b06f0a0af9e3e506b5c();
a.t为列表中元素类型,现在以string类型作为例子
如: list98c455a79ddfebb79781bff588e7b37e mlist = new list98c455a79ddfebb79781bff588e7b37e();
b.增加元素:list. add(t item) 添加一个元素
如:mlist.add(赖炎滨);
c.插入元素:insert(int index, t item); 在index位置添加一个元素
如:mlist.insert(1, laiyanbin);
d.删除元素: list. remove(t item) 删除一个值
如:mlist.remove(赖炎滨);
list. removeat(int index); 删除下标为index的元素
如.:mlist.removeat(0);
list. removerange(int index, int count); 从下标index开始,删除count个元素
如.:mlist.removerange(3, 2); //超出删除的范围会出错
注:删除某元素后,其后面的元素下标自动跟进
e.判断是否存在list:list. contains(t item) 得到的结果是返回true或false
f.排序:list. sort () //默认是元素第一个字母按升序
给list里面元素顺序反转:
list. reverse () //可以与list. sort ()配合使用,达到想要的效果
遍历list中元素:
foreach (t element in mlist) t的类型与mlist声明时一样
{
console.writeline(element);
}
g.list清空:list. clear ()
如:mlist.clear();
h.获得list中元素数目:
list. count () 返回int值
i.添加数组进list:string[] temarr = { ha,hunter, tom, lily, jay, jim, kuku, locu };
mlist.addrange(temarr);
2、list8742468051c85b06f0a0af9e3e506b5c testlist =new list8742468051c85b06f0a0af9e3e506b5c (ienumerable8742468051c85b06f0a0af9e3e506b5c collection);
以一个集合作为参数创建list
e.g.: string[] temarr = { ha, hunter, tom, lily, jay, jim, kuku, locu };
list98c455a79ddfebb79781bff588e7b37e testlist = new list98c455a79ddfebb79781bff588e7b37e(temarr);
3、list与数组的相互转换
1.从string[]转list98c455a79ddfebb79781bff588e7b37e
例如:string[] str={“1”,”2”};
list 98c455a79ddfebb79781bff588e7b37e list=new list98c455a79ddfebb79781bff588e7b37e(str);
2.从list98c455a79ddfebb79781bff588e7b37e转string[]
例如:list98c455a79ddfebb79781bff588e7b37e list=new list98c455a79ddfebb79781bff588e7b37e;
string[] str=list.toarray();
//viewstate[idlist]转换成lista8093152e673feb7aba1828c43532094
listbd43222e33876353aff11e13a7dc75f6 idlist=(listbd43222e33876353aff11e13a7dc75f6)viewstate[idlist]
更多c#中list的用法实例。