C# - 泛型:列表

数组有一个很大的限制,即不能扩展数组以容纳超过其最初定义要容纳的项数。
因此,很多人使用"lists"作为替代方案。

我们可以在以下命名空间中找到 lists列表类:

System.Collections.Generic

这是"Generic"命名空间的链接

http://msdn.microsoft.com/en-us/library/system.collections.generic(v=vs.110).aspx.

"Generic"一词来自列表(以及队列,堆栈)可以保存任何类型的内置对象变量,例如,字符串,int,double,...等。

列表的类是:

http://msdn.microsoft.com/en-us/library/6sh2ey19%28v=vs.110%29.aspx.

与所有泛型一样,列表具有自己的语法风格……以尖括号的形式出现,“<=>”。在这些括号内,指定列表将包含的数据类型。
列表的工作方式是首先创建一个空列表,然后向其中添加项目。在以下示例中,我们创建了一个列表(ListOfRandomNumbers),用于保存一系列随机整数,例如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace List
{
    class Program
    {
        static void Main(string[] args)
        {

			// Here you can think of "List"
			List ListOfRandomNumbers = new List();

			// 首先我们创建一个随机类的实例
			Random RandomNumberGenerator = new Random();

			// 将随机数添加到列表中
			for (int i=0; i			{
				ListOfRandomNumbers.Add(RandomNumberGenerator.Next());
			}

			// 使用列表类的"sort"方法对数字进行排序:
			ListOfRandomNumbers.Sort();

			foreach (int number in ListOfRandomNumbers)
			{
				Console.WriteLine(number);
			}
		}
    }

}

列表通常可用作获取项列表作为方法的输出参数的一种方式。
列表也可以保存自定义对象,下面是一个示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace List
{
    class Program
    {
        static void Main(string[] args)
        {
			// Here you can think of "List<int=>"
			List<CountryStat=> ListOfCountryData = new List<CountryStat=>();

			CountryStat EnglandObject = new CountryStat("London", 60000000, "English");
			CountryStat FranceObject = new CountryStat("Paris", 90000000, "French");
			CountryStat RussiaObject = new CountryStat("Moscow", 180000000, "Russian");

			ListOfCountryData.Add(EnglandObject);
			ListOfCountryData.Add(FranceObject);
			ListOfCountryData.Add(RussiaObject);

			foreach (CountryStat CountryData in ListOfCountryData)
			{
				Console.WriteLine(CountryData.Capital);
			}
		}
    }

	public class CountryStat
    {

        public string Capital { get; set; }
        public int Population { get; set; }
        public string Language { get; set; }

        public CountryStat(string Capital, int Population, string Language)
        {
            this.Capital = Capital;
            this.Population = Population;
            this.Language = Language;
        }
	}
}
日期:2020-07-07 20:54:26 来源:oir作者:oir