C# 列表推导式简介 [关闭]

c++

1个回答

写回答

meiyumei

2025-07-09 19:10

+ 关注

C# 列表推导式简介

列表推导式(List Comprehension)是一种简洁而强大的编程技巧,可以在C#中快速创建和操作列表。它类似于数学中的集合推导式,允许我们通过一行代码生成一个新的列表,而不需要编写繁琐的循环结构。

使用列表推导式可以大大简化代码,提高开发效率。它的语法结构简单明了,可以轻松实现对现有列表的筛选、变换和组合等操作。下面我们将通过几个案例来详细介绍C#列表推导式的使用。

案例1:筛选偶数

假设我们有一个整数列表,我们想要筛选出其中的偶数。使用列表推导式,我们可以轻松地实现这个功能。

csharp

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

List<int> evenNumbers = [x for x in numbers if x % 2 == 0];

在上述代码中,我们使用列表推导式 [x for x in numbers if x % 2 == 0],其中 x 表示列表中的每个元素,numbers 是原始列表,if x % 2 == 0 是筛选条件。通过这一行代码,我们可以快速得到一个包含原列表中所有偶数的新列表 evenNumbers。

案例2:字符串转换

列表推导式不仅可以用于筛选,还可以用于对列表中的元素进行变换。考虑这样一个情况,我们有一个字符串列表,我们希望将其中的每个字符串转换为大写形式。

csharp

List<string> names = new List<string> { "Alice", "Bob", "Charlie", "David", "Eve" };

List<string> upperCaseNames = [name.ToUpper() for name in names];

在上述代码中,我们使用列表推导式 [name.ToUpper() for name in names],其中 name 表示列表中的每个元素,names 是原始列表,name.ToUpper() 是对每个字符串进行转换的操作。通过这一行代码,我们可以快速得到一个包含原列表中所有字符串的大写形式的新列表 upperCaseNames。

案例3:多个列表组合

除了对单个列表进行操作,列表推导式还可以对多个列表进行组合和操作。考虑这样一个情况,我们有两个整数列表,我们希望将它们的元素进行组合,生成一个新的列表。

csharp

List<int> numbers1 = new List<int> { 1, 2, 3 };

List<int> numbers2 = new List<int> { 4, 5, 6 };

List<int> combinedNumbers = [x + y for x in numbers1 for y in numbers2];

在上述代码中,我们使用列表推导式 [x + y for x in numbers1 for y in numbers2],其中 x 表示 numbers1 中的每个元素,y 表示 numbers2 中的每个元素。通过这一行代码,我们可以快速得到一个包含两个列表元素组合的新列表 combinedNumbers。

列表推导式是C#中一个强大而简洁的编程技巧,可以在一行代码中实现对列表的筛选、变换和组合等操作。它可以大大简化代码,提高开发效率。通过本文的案例代码,我们了解了列表推导式的基本语法和使用方法。希望这些例子能帮助你更好地理解和应用列表推导式。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号