C#泛型列表List實現二維陣列的功能(令附C#泛型列表List基本用法總結)
阿新 • • 發佈:2019-02-10
// 搜尋有很多種方式,可以使用IndexOf LastIndexOf FindIndex FindLasIndex Find FindLas ,如果只是檢視元素存不,可以使用Exists()方法
// IndexOf() 方法 需要將一個物件做引數, 如果打到,就返回本元素在集合中的索引,如果找不到就返回-1,IndexOf還可以使用IEquatable介面來比較元素
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);
// 為了使用預設的地址比較,我們把Person的介面暫時去掉
int index = ls3.IndexOf(person3);
Console.WriteLine( "per3 的索引:" + index); //2
// 還可以指定搜尋範圍 從第3個開始,範圍長度是1
int index2 = ls3.IndexOf(person3,2,1);
Console.WriteLine(index2);
//IEquatable比較方法前面已經寫過,不再舉例
// FindIndex()方法是用來搜尋帶有一定特性的元素
// 例用委託做引數 public delegate bool Predicate<T>(T obj);
int index3 = ls3.FindIndex(param => param.name.Equals("jacky"));
Console.WriteLine( index3 );// 2
// FindLastIndex是從後面查第一個出現的元素,因為我們這裡沒有重複元素,所以體現不出他只查詢一個,就停下來的效果
int index4 = ls3.FindLastIndex(p => p.name.Equals("aladdin"));
Console.WriteLine(index4);
// Find方法與FindIndex方法用法一樣,不同的是,它返回的是元素本身
Person ppp = ls3.Find( p => p.name.Equals("jacky")) ;
Console.WriteLine(ppp);
// 如果要查詢所有的匹配元素,而不是找到第一個就停下來,就使用FindAll方法
// 我們查詢所有年紀等於100的物件,3個都符合
List<Person> newList = ls3.FindAll(p => p.age == 100);
Console.WriteLine( "----------查詢所有---------");
foreach (Person p in newList)
{
Console.WriteLine( p.name);
}
// IndexOf() 方法 需要將一個物件做引數, 如果打到,就返回本元素在集合中的索引,如果找不到就返回-1,IndexOf還可以使用IEquatable介面來比較元素
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);
// 為了使用預設的地址比較,我們把Person的介面暫時去掉
int index = ls3.IndexOf(person3);
Console.WriteLine( "per3 的索引:" + index); //2
// 還可以指定搜尋範圍 從第3個開始,範圍長度是1
int index2 = ls3.IndexOf(person3,2,1);
Console.WriteLine(index2);
//IEquatable比較方法前面已經寫過,不再舉例
// FindIndex()方法是用來搜尋帶有一定特性的元素
// 例用委託做引數 public delegate bool Predicate<T>(T obj);
int index3 = ls3.FindIndex(param => param.name.Equals("jacky"));
Console.WriteLine( index3 );// 2
// FindLastIndex是從後面查第一個出現的元素,因為我們這裡沒有重複元素,所以體現不出他只查詢一個,就停下來的效果
int index4 = ls3.FindLastIndex(p => p.name.Equals("aladdin"));
Console.WriteLine(index4);
// Find方法與FindIndex方法用法一樣,不同的是,它返回的是元素本身
Person ppp = ls3.Find( p => p.name.Equals("jacky")) ;
Console.WriteLine(ppp);
// 如果要查詢所有的匹配元素,而不是找到第一個就停下來,就使用FindAll方法
// 我們查詢所有年紀等於100的物件,3個都符合
List<Person> newList = ls3.FindAll(p => p.age == 100);
Console.WriteLine( "----------查詢所有---------");
foreach (Person p in newList)
{
Console.WriteLine(
}