解决方案 »
- C# 希望数据恢复的时候老是不能用 KILL 来终止您自己的进程。
- 请教如何使用listView生成小图标浏览一个文件夹中图片?
- 高级查询
- C#问题: string.Format()方法如何应用?
- 怎样使工具栏窗口(从Form继承)和主窗口同时具有焦点??或单击一次工具栏窗口就能执行命令?
- 请问如何在click button1后生成100个label竖直排列然后把它们显示出来,内容为它们的编号
- 怎么让web控件有顺序即打回车会跳到下个控件
- 本人新手 求高手帮忙做成多进程同时进行的模式
- 用ASP.NET编写的网站为什么总是跳出“无法找到脚本库”的提示???
- 谁知道封锁键盘的代码怎么写???
- word表格中数据写入问题
- 大哥大姐
List <Admin> ListAdmin= new List <Admin>();这个ListAdmin是一个集合,相当于是数组吧。
List<Admin>说明这个集合只能存放Admin类型的元素,相当于List<int>、List<string>只能存放int类型和string类型。
Admin ListAdmin=new Admin();是实例化一个Admin类型的对象。
ListAdmin 是一个Admin类型的实例集合,可ListAdmin.Add(admin);等等
Admin ListAdmin=new Admin();
ListAdmin 只是Admin 类型的一个实例。
[SerializableAttribute]
public class List<T> : IList<T>, ICollection<T>,
IEnumerable<T>, IList, ICollection, IEnumerable
理解T
List<T>类型的这个T里面可以是Int,string,甚至可以是类名
上面的就是内明
这样使用可以使用List<T>中的方法
下面是List<T>中的方法
List<T>可以动态增大和减少容量
这个类支持排序,使集合中的元素逆序
这个定义的是一个泛型集合,属于强类型,只能存放Admin类型的对象。比如我们将admin添加到ListAdmin集合中;ListAdmin.Add(admin);同样,还可以往ListAdmin集合中添加更多Admin类型的对象
http://blog.csdn.net/ws_hgo/archive/2009/08/02/4402139.aspxusing System;
using System.Collections.Generic;
using System.Text;
namespace hgoApp
{
public class Racer
{
private string _Name;
public string Name
{
get { return _Name; }
}
private string _Car;
public string Car
{
get { return _Car; }
}
public Racer(string Name, string Car)
{
this._Name = Name;
this._Car = Car;
}
public override string ToString()
{
return string.Format("{0}开的车是名车{1}", _Name, _Car);
}
}
class Test
{
static void Main()
{
List<Racer> MyRacer = new List<Racer>();
//添加对象
MyRacer.Add(new Racer("aa", "宝马"));
MyRacer.Add(new Racer("bb", "奔驰"));
MyRacer.Add(new Racer("cc", "保时捷"));
MyRacer.Add(new Racer("dd", "宝马"));
foreach (Racer R in MyRacer)
{
Console.WriteLine(R);
}
//查找车型为宝马的车
FindCar MyCar = new FindCar("宝马");
//new Predicate实际上一个返回类型为bool的委托,这里委托代理的方法是DriveCar
//FindAll找出返回为True的List<Racer>列表
foreach (Racer R in MyRacer.FindAll(new Predicate<Racer>(MyCar.DriveCar)))
{
Console.WriteLine(R);
}
}
}
//查找相应的车型
public class FindCar
{
private string _car;
public FindCar(string car)
{
this._car = car;
}
//如果在Racer找到对应的Car就返回true
public bool DriveCar(Racer R)
{
return (R.Car == _car) ? true : false;
}
}
} 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ws_hgo/archive/2009/08/02/4402139.aspx
同样,还可以往ListAdmin集合中添加更多Admin类型的对象?List <Admin> ListAdmin= new List <Admin>(); ListAdmin.Add(UserName);
ListAdmin.Add(Password);个人觉得这跟Admin ListAdmin=new Admin();
ListAdmin.UserName(UserName);
ListAdmin.Password(Password);
大家说是吗?
List<T>
就可以在类中使用List<T>的方法了
就这
List <Admin> ListAdmin= new List <Admin>();ListAdmin.Add(UserName);
ListAdmin.Add(Password); 错的。UserName,Password只是Admin类的属性。又不是Admin类型对象。Admin admin1=new Admin();
Admin admin2=new Admin();
Admin admin3=new Admin();ListAdmin.Add(admin1);
ListAdmin.Add(admin2);
ListAdmin.Add(admin3);
List <Admin> ListAdmin= new List <Admin>();
ListAdmin.Add(new Admin("UserName","passowrd"));
ListAdmin.Add(new Admin("UserName1","passowrd2"));
ListAdmin.Add(new Admin("UserName3","passowrd3"));
Admin admin2=new Admin();
Admin admin3=new Admin(); ListAdmin.Add(admin1);
ListAdmin.Add(admin2);
ListAdmin.Add(admin3);一般都这样写,
你就把T当作STRING或INT类型来理解,
Admin admin1=new Admin();
Admin admin2=new Admin();
Admin admin3=new Admin();
admin1,admin2 对应的对象是,UserName,PassWord?
ListAdmin是一个LIST集合类型的对象,而且是强类型,意思就是说在这个ListAdmin集合中
只能存放Admin类型的对象。
Admin admin=new Admin();只是new了一个Admin对象而已。
admin1,admin2是类Admin的对象,,
UserName,PassWord是对象admin1,admin2的属性。。建议你还是看下基础,首先把基础打牢点。。什么类啊,对象啊,属性啊,字段啊,封装啊,继承啊,多态啊
………………,去把这些面向对象的基本概念先理解了吧!
这个定义的是一个泛型集合,属于强类型,只能存放Admin类型的对象。 比如我们将admin添加到ListAdmin集合中;ListAdmin.Add(admin); 同样,还可以往ListAdmin集合中添加更多Admin类型的对象
List<T>可以理解为模板类,
List<int>,List<String>,List<Admin>才是一个个的具体类。
Admin ListAdmin=new Admin();是指实例化一个Admin类型的ListAdmin。
List <Admin> ListAdmin= new List <Admin>(); 是指实例化一个List类型的ListAdmin,其中Admin作为一个类型参数传入进去。
List<object> listObjects = new List<object>();
List<T> 继承了接口:IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
使用Find搜索单个匹配值
用Contains检查满足条件的值是否存在
FindAll搜索多个匹配值
用ForEach 对每个列表对象进行操作