List <T> 中T需要重写一下Equals,比如你指定定2个T的ID相等,这两个T就相等 using System; using System.Collections.Generic; class T { private string _id ; public T(string pID) { _id = pID; } public string ID { get { return _id; } } public override bool Equals(object obj) { if (!(obj is T)) { return false; } return ((T)obj).ID == this.ID; } public override int GetHashCode() { return _id.GetHashCode(); } public static bool operator ==(T t1, T t2) { return t1.Equals(t2); } public static bool operator !=(T t1, T t2) { return !t1.Equals(t2); } } class example { static void Main() { T t1 = new T("a"); T t2 = new T("a"); Console.WriteLine(t1 == t2);//true List<T> list = new List<T>(); list.Add(t1); Console.WriteLine(list.Contains(t2));//true }}
List<T> modelList=new List<T>((BindingList<T>)this.DataGridView.DataSource);
3 通过Contains判断是否存在数据
http://blog.csdn.net/aladdinty/archive/2008/12/11/3494357.aspx
会自动减一,List<L>只适合对数据的保存,而对它的查看不是很方便 ,在此我建议使用Dictionary<K,V>.
1、DataGridView.DataSource = ILIST<T>对象是可以的,我想LIST<T>也应该可行
2、会
3、Contains方法
答:DataGridView.DataSource =对象名(LIST <T>对象名),二者之间的关系不会是一一对应的,如果你使用List<T>后台是数据库那么List<T>中的排序是按照数据库中数据的排序去排序的。
2.List <T>的方法RemoveAt(i)删除索引i这一项后,Count会不会自动减一 ? 索引i后面这些元素的Index会不会自动减一 ?
List <T>的方法RemoveAt(i)删除索引i这一项后,Count会自动减一,索引i后面这些元素的Index也会自动减一 。
3、List <T>.Contains(T) 确定某元素是否在 List中
使用Contains方法,会哦这你自己去定义一个方法来来判断方法!
List <T> 中T需要重写一下Equals,比如你指定定2个T的ID相等,这两个T就相等
using System;
using System.Collections.Generic;
class T
{
private string _id ;
public T(string pID)
{
_id = pID;
} public string ID
{
get { return _id; }
}
public override bool Equals(object obj)
{
if (!(obj is T))
{
return false;
}
return ((T)obj).ID == this.ID;
} public override int GetHashCode()
{
return _id.GetHashCode();
} public static bool operator ==(T t1, T t2)
{
return t1.Equals(t2);
} public static bool operator !=(T t1, T t2)
{
return !t1.Equals(t2);
} }
class example
{
static void Main()
{
T t1 = new T("a");
T t2 = new T("a");
Console.WriteLine(t1 == t2);//true List<T> list = new List<T>();
list.Add(t1);
Console.WriteLine(list.Contains(t2));//true
}}
2:List <T>的方法RemoveAt(i)删除索引i这一项后,Count后的索引也会减少一,它会重新分配的。例如集合中有3个元素,你删除一个索引为0的和一个索引为1的后,在删除索引为2的它就会报错了。
3:用集合的count属性,打印出个数之后再添加,然后再打印出个数看个数的变化就知道有没有添加成功了 。