在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 110         cities.Add("Humboldt");                   // 211         cities.Add("Los Angeles");                // 312         cities.Add("Auburn");                     // 413 14         // Write each city string.15         foreach (string city in cities)16         {17             Console.WriteLine(city);18         }19         Console.ReadKey();20     }21 }

输出:

San DiegoHumboldtLos AngelesAuburn

  注意代码中的尖括号(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 calls21         // 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 110         fish.Add("rainbowfish");       // 211         fish.Add("labyrinth fish");    // 312         fish.Sort();                   // Sort string list alphabetically13 14         foreach (string fishSpecies in fish)15         {16             Console.WriteLine(fishSpecies);17         }18         Console.ReadKey();19     }20 }

输出:

catfishlabyrinth fishrainbowfish

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

  总结

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

文章引自:http://www.cnblogs.com/hans_gis/archive/2011/07/31/2122392.html

转载于:https://www.cnblogs.com/llljpf/p/6742271.html

C#中的Liststring泛型类示例相关推荐

  1. C#中的泛型 / 泛型类 / 数组、ArrayList和List三者的区别

    C#中数组.ArrayList和List三者的区别 在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的, ...

  2. Istio-0.8.0在Minikube环境中快速启动Bookinfo示例

    Istio-0.8.0在Minikube环境中快速启动Bookinfo示例 之前发表了从零开始应用Istio--入门示例,使用的istio版本比较低,在0.8.0版本下发现很多命令不一样了,所以总结一 ...

  3. Java 中pdf部分内容加边线_Java 在PDF中添加骑缝章示例解析

    骑缝章是用于往来业务合同,以确保合同真实.有效的印章加盖方法,是一种防范风险的重要方式.在Java程序中,可以通过使用工具来辅助加盖这种骑缝章. 工具:Free Spire.PDF for Java ...

  4. mysql教程or怎么用_MySQL中or语句用法示例

    1.mysql中or语法的使用,在mysql语法中or使用注意点. 项目遇到坑,遍历发放奖励数据查询错误!!! $sql = 'SELECT * FROM `vvt_spread_doubleegg_ ...

  5. python处理pdf提取指定数据_python从PDF中提取数据的示例

    01 前言 数据是数据科学中任何分析的关键,大多数分析中最常用的数据集类型是存储在逗号分隔值(csv)表中的干净数据.然而,由于可移植文档格式(pdf)文件是最常用的文件格式之一,因此每个数据科学家都 ...

  6. spring 项目中集成 Protocol Buffers 示例

    http://blog.csdn.net/fangzhangsc2006/article/details/8687388 本文适用于了解spring框架,同时想在spring项目中使用Protocol ...

  7. Java中的Volatile如何工作? Java中的volatile关键字示例

    如何在Java中使用Volatile关键字 在Java采访中,什么是volatile变量以及何时在Java中使用volatile变量是Java 采访中一个著名的多线程采访问题 . 尽管许多程序员都知道 ...

  8. sql语句中的in用法示例_PHP中的循环语句和示例

    sql语句中的in用法示例 循环 (Loops) Imagine that we need a program that says "hello world" 100 times. ...

  9. sql语句中的in用法示例_示例中JavaScript in操作符

    sql语句中的in用法示例 One of the first topics you'll come across when learning JavaScript (or any other prog ...

最新文章

  1. 面试官扎心一问:数据量很大,分页查询很慢,有什么优化方案?
  2. 电灯泡内通有交流电,为什么看不到灯泡在闪烁?
  3. Win10 配置 TensorFlow-gpu 深度学系框架
  4. zemax迈克尔逊干涉仪_zemax非序列模式概述-棱镜的色散与迈克尔逊干涉仪016
  5. SpringBoot最佳实践-dev-tools
  6. 未能初始化appscan应用程序现在将关闭_企业区块链应用程序的两个关键问题
  7. mybatis 字符串替换而不是设置的方法
  8. python menu实例_python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例...
  9. MySQL数据库(七)
  10. Django ORM模型一对一、一对多、多对多的操作详解
  11. mariadb审计插件
  12. 2015总结与新年计划
  13. win10设置了睡眠时间,但两分钟无操作仍然黑屏。解决办法
  14. 华为云服务器安装Linux并实现本地连接访问
  15. ASPICE_SWE.1_01_01_QA
  16. 教你如何使用Java代码从网页中爬取数据到数据库中——网络爬虫精华篇
  17. 张学友十大粤语十大国语金曲赏析
  18. 双非渣本小Android四年磨一剑,秋招大厂(字节、腾讯、B站)面经分享
  19. 今日头条张一鸣:30亿估值之后怎么玩?
  20. 如何在QQ中输入繁体字

热门文章

  1. 在请求完成后回调delegate的方法。然而回调时经常遇到这种情况:delegate已经被释放...
  2. TestLink1.9.3测试用例:Excel转换XML工具一
  3. C#中的委托和事件(续)
  4. SAP创建webservice
  5. docker手册_Docker手册
  6. 云端应用SQL注入攻击
  7. 1003 我要通过!
  8. java开发培训中消息中间件的优势有哪些
  9. 学Java需要下载什么软件?都有什么作用?
  10. 软件测试工程师如何提升自己?