C#中的List<string>泛型类示例

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

  List示例 

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

List<string>示例代码: 

 1using System;

 2using System.Collections.Generic;

 3

 4class Program

 5{

 6staticvoid 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.

15foreach (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初始化示例代码: 

 1using System;

 2using System.Collections.Generic;

 3

 4class Program

 5{

 6staticvoid 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示例:

 

 1using System;

 2using System.Collections.Generic;

 3

 4class Program

 5{

 6staticvoid 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

14foreach (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作为参数的示例程序。

posted @ 2012-10-15 11:00  DaBan  阅读(4150)  评论(0编辑  收藏  举报