彩票走势图

C#中的List泛型类示例

转帖|其它|编辑:郝浩|2011-08-01 13:52:29.000|阅读 1771 次

概述: 在C#代码中使用一系列字符串(strings)并需要为其创建一个列表时,List泛型类是一个用于存储一系列字 符串(strings)的极其优秀的解决办法。下面一起有一些List泛型类的示例,一起来看看吧。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

 在C#代码中使用一系列字符串(strings)并需要为其创建一个列表时,List<string>泛型类是一个用于存储一系列字 符串(strings)的极其优秀的解决办法。下面一起有一些List<string>泛型类的示例,一起来看看吧。

  List示例

  下面是一个使用C#创建一个新的一系列字符串的列表的示例,利用foreach语句循环使用其每一个字符串。请注意在代码片段的顶部添加所需的命名空间:“using System.Collections.Generic;”,List是该命名空间里的一个泛型类型。

  List<string>示例代码:

 1 using System;
 2  using System.Collections.Generic;
 3 
 4  class Program
 5 {
 6     static void Main()
 7     {
 8         List<string> cities = new List<string>(); // List of city names
 9          cities.Add("San Diego");                  // String element 1
10          cities.Add("Humboldt");                   // 2
11          cities.Add("Los Angeles");                // 3
12          cities.Add("Auburn");                     // 4
13 
14         // Write each city string.
15          foreach (string city in cities)
16         {
17             Console.WriteLine(city);
18         }
19         Console.ReadKey();
20     }
21 }

输出:

San Diego
Humboldt
Los Angeles
Auburn

  注意代码中的尖括号(angle brackets)。在声明语句中尖括号<和>将string类型围在中间,这意味着List仅能够存储String类型的元素。string类型可以是小写字体的string,也可以使大写字体的String。

  使用Collection实现初始化示例

  C#语法允许以一种更加清晰的办法来实现List的初始化。使用collection进行初始化,必须使用大括号{}包围作初始化用的值。下面示例中的注释说明了在执行该程序时编译器所使用的代码。

  List初始化示例代码:

 1 using System;
 2  using System.Collections.Generic;
 3 
 4  class Program
 5 {
 6     static void Main()
 7     {
 8         List<string> moths = new List<string>
 9     {
10         "African armyworm",
11         "Mottled pug",
12         "Purple thug",
13         "Short-cloaked moth"
14     };
15         // The List moth contains four strings.
16         // IL:
17         //
18         // List<string> <>g__initLocal0 = new List<string>();
19         // <>g__initLocal0.Add("African armyworm");
20         // // ... four more Add calls
21         // List<string> moths = <>g__initLocal0;
22      }
23 }

  解释说明。可以看到字符串列表的初始化编译为调用一系列的Add方法。因此,二者执行起来是相似的。然而,不要超出你的需要来过多的初始化List,因为调用Add方法会增加你的资源消耗。

  Var示例:

  下面是一个关于var关键字如何与List<string>一起使用的示例。var是一个隐式关键字,它与使用全类型名称编译的结果是相同的(var是C# 3.0中新增加的一个关键字,在编译器能明确判断变量的类型时,它允许对本地类型进行推断)。

  使用var关键字的List示例:

 1 using System;
 2  using System.Collections.Generic;
 3 
 4  class Program
 5 {
 6     static void Main()
 7     {
 8         var fish = new List<string>(); // Use var keyword for string List
 9          fish.Add("catfish");           // Add string 1
10          fish.Add("rainbowfish");       // 2
11          fish.Add("labyrinth fish");    // 3
12          fish.Sort();                   // Sort string list alphabetically
13  
14         foreach (string fishSpecies in fish)
15         {
16             Console.WriteLine(fishSpecies);
17         }
18         Console.ReadKey();
19     }
20 }

输出:

catfish
labyrinth fish
rainbowfish

  注意。List<string>的Sort方法默认按照字母顺序对其字符串进行排序。它使用替换的方式实现排序,意味着你不必为排序的结果分配新的存储空间。

  总结

  上面是字符串类型的List的一些示例。因为C#语言中设计了泛型类型,这些示例中没有花费较大的装箱与拆箱过程,因此,这里的List与 ArrayList相比,在任何情况下其效率都要高一些。在这篇文章里,我们学习了声明并使用collection对字符串类型的List进行初始化,还 学习了其Sort方法,最后还有一个使用List作为参数的示例程序。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:博客园

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP