当前位置: 首页 > 科技观察

学习C#集合类型

时间:2023-03-17 00:04:50 科技观察

对于许多应用程序,您需要创建和管理相关对象组。有两种方法可以对对象进行分组:创建对象数组和创建对象集合。数组最适合创建和使用固定数量的强类型对象。集合提供了一种更灵活的方式来处理对象组。与数组不同,您使用的对象组会随着应用程序的变化而动态增长和收缩。对于某些集合,您可以为放入集合中的任何对象分配一个键,这样您就可以使用该键快速检索该对象。集合是一个类,因此在向集合添加元素之前必须声明类的实例。如果您的集合只包含一种数据类型的元素,您可以使用System.Collections.Generic命名空间中的类。通用集合强制类型安全,因此不能向其中添加其他数据类型。从通用集合中检索元素时,不需要确定其数据类型或对其进行转换。创建一个字符串列表并使用foreach语句循环访问这些字符串。//Createalistofstrings.varsalmons=newList();salmons.Add("chinook");salmons.Add("coho");salmons.Add("pink");salmons.Add("sockeye");//Iteratethroughthelist.foreach(varsalmoninsalmons){Console.Write(salmon+"");}//输出:chinookcohopinksockeye如果事先知道集合的内容,可以使用集合初始化器来初始化集合。//Createalistofstringsbyusinga//collectioninitializer.varsalmons=newList{"chinook","coho","pink","sockeye"};//遍历列表.foreach(varsalmoninsalmons){Console.Write(salmon+"");}//输出:chinookcohopinksockeye可以使用for语句而不是foreach语句来遍历集合。这是通过按索引位置访问集合元素来实现的。元素的索引从0开始,到元素计数减1结束。以下示例使用for而不是foreach循环访问集合中的元素。//通过使用a//collectioninitializer.varsalmons=newList{"chinook","coho","pink","sockeye"};for(varindex=0;index{newGalaxy(){Name="蝌蚪",MegaLightYears=400},newGalaxy(){Name="风车",MegaLightYears=25},newGalaxy(){Name="银河",MegaLightYears=0},newGalaxy(){Name="Andromeda",MegaLightYears=3}};foreach(GalaxytheGalaxyintheGalaxies){Console.WriteLine(theGalaxy.Name+""+theGalaxy.MegaLightYears);}//Output://Tadpole400//Pinwheel25//MilkyWay0//Andromeda3}publicclassGalaxy{publicstringName{get;set;}publicintMegaLightYears{get;set;}}