List泛型

System.Collections.Generic.List类表示可通过索引访问的对象的强类型列表。提供用于对列表进行搜索、排序和操作的方法。T为类型参数,代表列表中元素的类型。该类实现了IList泛型接口,是ArrayList类的泛型等效类,其大小可按需动态增加。
名称 说明
List() 初始化 List 类的新实例,该实例为空并且具有默认初始容量(0)。
List(IEnumerable) 初始化 List 类的新实例,该实例包含从指定集合复制的元素并且具有足够的容量来容纳所复制的元素。
List(Int32) 始化 List 类的新实例,该实例为空并且具有指定的初始容量。
名称 说明
Add 将对象添加到 List 的结尾处。
AddRange 将指定集合的元素添加到 List 的末尾。
AsReadOnly 返回当前集合的只读 IList 包装。
BinarySearch(T) 使用默认的比较器在整个已排序的 List 中搜索元素,并返回该元素从零开始的索引。
BinarySearch(T, IComparer) 使用指定的比较器在整个已排序的 List 中搜索元素,并返回该元素从零开始的索引。
BinarySearch(Int32, Int32, T, IComparer) 使用指定的比较器在已排序 List 的某个元素范围中搜索元素,并返回该元素从零开始的索引。
Clear 从 List 中移除所有元素。
Contains 确定某元素是否在 List 中。
ConvertAll 将当前 List 中的元素转换为另一种类型,并返回包含转换后的元素的列表。
CopyTo(T[]) 将整个 List 复制到兼容的一维数组中,从目标数组的开头开始放置。
Exists 确定 List 是否包含与指定谓词所定义的条件相匹配的元素。
Find 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中的第一个匹配元素。
FindIndex(Predicate) 搜索与指定谓词所定义的条件相匹配的元素,并返回整个 List 中第一个匹配元素的从零开始的索引。
ForEach 对 List 的每个元素执行指定操作。
GetEnumerator 返回循环访问 List 的枚举器。
IndexOf(T) 搜索指定的对象,并返回整个 List 中第一个匹配项的从零开始的索引。
Insert 将元素插入 List 的指定索引处。
InsertRange 将集合中的某个元素插入 List 的指定索引处。
LastIndexOf(T) 搜索指定的对象,并返回整个 List 中最后一个匹配项的从零开始的索引。
Remove 从 List 中移除特定对象的第一个匹配项。
Reverse() 将整个 List 中元素的顺序反转。
Sort() 使用默认比较器对整个 List 中的元素进行排序。
TrimExcess 将容量设置为 List 中的实际元素数目(如果该数目小于某个阈值)。
TrueForAll 确定是否 List 中的每个元素都与指定的谓词所定义的条件相匹配。
Capacity 获取或设置该内部数据结构在不调整大小的情况下能够容纳的元素总数。
Count 获取 List 中实际包含的元素数。

gasaurus");
dinosaurs.Add("Mamenchisaurus");
dinosaurs.Add("Deiclass Program
{
static void Main(string[] args)
{
#region List<T>类常用的方法
List<string> dinosaurs = new List<string>();//创建一个string的List集合

Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);//输出默认容量的大小

dinosaurs.Add("Tyrannosaurus");//向集合添加元素
dinosaurs.Add("Amarnonychus");
dinosaurs.Add("Compsognathus");

Console.WriteLine();
foreach (string dinosaur in dinosaurs)//打印集合中的元素
{
Console.WriteLine(dinosaur);
}

Console.WriteLine("\nCapacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);//输出集合中实际元素的数量

Console.WriteLine("\nContains(\"Deinonychus\"): {0}",
dinosaurs.Contains("Deinonychus"));//判断集合中是否包含某个元素

Console.WriteLine("\nInsert(2, \"Compsognathus\")");
dinosaurs.Insert(2, "Compsognathus");//将元素插入到集合的指定索引出,允许插入重复的元素

Console.WriteLine();
foreach (string dinosaur in dinosaurs)//打印集合中的元素
{
Console.WriteLine(dinosaur);
}
Console.WriteLine("\ndinosaurs[3]: {0}", dinosaurs[3]);//输出集合中索引为3的元素

Console.WriteLine("\nRemove(\"Compsognathus\")");
dinosaurs.Remove("Compsognathus");//移除集合中第一个匹配的元素

Console.WriteLine();
foreach (string dinosaur in dinosaurs)//打印集合中的元素
{
Console.WriteLine(dinosaur);
}
dinosaurs.TrimExcess();//减小容量以匹配计数,然后显示 Capacity 和 Count 属性。如果未用容量已经小于总容量的 10%,则列表容量不会进行调整。
Console.WriteLine("\nTrimExcess()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);

dinosaurs.Clear();//移除列表中的所有项,然后显示 Capacity 和 Count 属性。
Console.WriteLine("\nClear()");
Console.WriteLine("Capacity: {0}", dinosaurs.Capacity);
Console.WriteLine("Count: {0}", dinosaurs.Count);

#endregion

#region List<T>类的新增方法

List<string> dinosaurs1 = new List<string>();//创建一个string的List集合

dinosaurs1.Add("Compsognathus");//向集合添加元素
dinosaurs1.Add("Amargasaurus");
dinosaurs1.Add("Oviraptor");
dinosaurs1.Add("Velociraptor");
dinosaurs1.Add("Deinonychus");
dinosaurs1.Add("Dilophosaurus");
dinosaurs1.Add("Gallimimus");
dinosaurs1.Add("Triceratops");

Console.WriteLine();
foreach (string dinosaur in dinosaurs1)
{
Console.WriteLine(dinosaur);
}

Console.WriteLine("\nTrueForAll(EndsWithSaurus): {0}",
dinosaurs1.TrueForAll(EndsWithSaurus));//确定集合中的每个元素是否都与指定的谓词所定义的条件相匹配

Console.WriteLine("\nFind(EndsWithSaurus): {0}",
dinosaurs1.Find(EndsWithSaurus));//搜索与指定谓词条件相匹配的第一个元素

Console.WriteLine("\nFindLast(EndsWithSaurus): {0}",
dinosaurs1.FindLast(EndsWithSaurus));//搜索与指定谓词条件相匹配的最后一个元素

Console.WriteLine("\nFindAll(EndsWithSaurus):");
List<string> sublist = dinosaurs1.FindAll(EndsWithSaurus);//检索与指定谓词定义的条件匹配的所有元素

foreach (string dinosaur in sublist)//打印集合
{
Console.WriteLine(dinosaur);
}

Console.WriteLine(
"\n{0} elements removed by RemoveAll(EndsWithSaurus).",
dinosaurs1.RemoveAll(EndsWithSaurus));//移除与指定谓词定义的条件匹配的所有元素

Console.WriteLine("\nList now contains:");
foreach (string dinosaur in dinosaurs1)//打印集合
{
Console.WriteLine(dinosaur);
}

Console.WriteLine("\nExists(EndsWithSaurus): {0}",
dinosaurs1.Exists(EndsWithSaurus));//该方法从头开始遍历该列表,依次将每个元素传递给 EndsWithSaurus 方法。如果 EndsWithSaurus 方法针对任何元素返回 true,搜索即停止
dinosaurs1.Sort();//对集合中的元素排序
dinosaurs1.Reverse();//将集合中的元素顺序反转
dinosaurs1.ForEach(Print);//对集合中的每个元素执行指定的方法(如Print方法)
Console.Read();
#endregion
}

// 搜索谓词方法,该方法接受一个字符串作为参数,并返回一个布尔值,指示输入的字符串是否以“saurus”结尾。
private static bool EndsWithSaurus(String s)
{
if ((s.Length > 5) &&
(s.Substring(s.Length - 6).ToLower() == "saurus"))
{
return true;
}
else
{
return false;
}
}

//定义打印集合的方法
private static void Print(string s)
{
Console.WriteLine(s);
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值