• 首页
        • 更多产品

          客户为中心的产品管理工具

          专业的软件研发项目管理工具

          简单易用的团队知识库管理

          可量化的研发效能度量工具

          测试用例维护与计划执行

          以团队为中心的协作沟通

          研发工作流自动化工具

          账号认证与安全管理工具

          Why PingCode
          为什么选择 PingCode ?

          6000+企业信赖之选,为研发团队降本增效

        • 行业解决方案
          先进制造(即将上线)
        • 解决方案1
        • 解决方案2
  • Jira替代方案
目录

C#中List是什么数据结构

C#中的List是一种动态数组(Dynamic Array)数据结构,它可以自动扩展大小。与传统数组(静态数组)不同,静态数组具有固定的长度,不支持动态增加或减少元素。而List可以根据需要添加或删除元素,使其更灵活。

一、C#中List是什么数据结构

C#中的List是一种动态数组(Dynamic Array)数据结构,它可以自动扩展大小。与传统数组(静态数组)不同,静态数组具有固定的长度,不支持动态增加或减少元素。而List可以根据需要添加或删除元素,使其更灵活。

List集合代表一个元素有序、可重复的集合,集合中每个元素都有其对应的顺序索引。List集合允许加入重复元素,因为它可以通过索引来访问指定位置的集合元素。List集合默认按元素的添加顺序设置元素的索引 。List的长度可以根据需要动态增加或缩小,并且可以通过索引来访问List的内部元素,还可以对List进行排序和搜索等操作。List中的元素可以是任何类型,包括基本数据类型和自定义对象等。

在C#中,List类是System.Collections.Generic命名空间提供的一个泛型集合类。使用List类,我们可以轻松地创建和操作动态数组,这使得List成为C#中常用的集合类型之一。

二、C#简介

C#是微软公司发布的一种由C和C++衍生出来的面向对象的编程语言、运行于.NET Framework和.NET Core(完全开源,跨平台)之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角。

C#是由C和C++衍生出来的一种安全的、稳定的、简单的、优雅的面向对象编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的优选语言。

C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。

C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。

三、List的相关用法

1、初始化

List<int> intList = new List<int>();
Console.WriteLine("intList 的默认容量为:{0}", intList.Capacity);
intList.Add(1);
intList.Add(2);
intList.Add(3);
foreach(var value in intList)
{
    Console.Write(value + " ");
}
Console.WriteLine();
Console.WriteLine("intList 的当前容量为:{0}", intList.Capacity);
/*
intList 的默认容量为:0
1 2 3
intList 的当前容量为:4
*/

2、添加元素

List<string> strList = new List<string>();
strList.Add("a");
strList.Add("b");
strList.Add("c");
foreach(var element in strList)
{
    Console.Write(element + " ");
}
// a b c

3、移除所有元素

List<bool> boolList = new List<bool> {false, true, false};
Console.WriteLine("intList 中的元素数量为:{0}", boolList.Count);  // intList 中的元素数量为:3
boolList.Clear();
Console.WriteLine("intList 中的元素数量为:{0}", boolList.Count);  // intList 中的元素数量为:0
Console.WriteLine("intList 的当前容量为:{0}", boolList.Capacity);  // intList 的当前容量为:4

4、插入元素

List<int> intList = new List<int> {1, 2, 3};
intList.Insert(1, 666);
intList.Insert(2, 888);
foreach(var element in intList)
{
    Console.Write(element + " ");
}
// 1 666 888 2 3

5、排序

List<int> intList = new List<int> {4, 5, 1, 3, 2};
intList.Sort(); //默认升序
foreach(var element in intList)
{
    Console.Write(element + " ");
}
// 1 2 3 4 5

延伸阅读1:C#的设计目标

C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。

相关文章