C# var flowlist = new List<string>();如何使用distinct
时间: 2024-09-19 18:04:57 浏览: 36
在C#中,`Distinct()` 方法用于从给定集合中去除重复的元素,返回一个新的不包含重复项的序列。如果你有一个名为 `flowlist` 的 `List<string>` 并想移除其中的重复字符串,你可以这样做[^1]:
```csharp
var flowlist = new List<string> { "a", "b", "c", "d", "a" }; // 假设这是你的初始列表
flowlist = flowlist.Distinct(StringComparer.OrdinalIgnoreCase).ToList(); // 使用 StringComparer.OrdinalIgnoreCase 进行不区分大小写的比较
```
这将创建一个新的 `List<string>`,其中只包含原始列表中独一无二的字符串,比如在这种情况下就是 `["a", "b", "c", "d"]`。
另外,如果你想要以特定分隔符连接列表中的所有元素(在这个例子中是 `;`),可以使用 `string.Join()` 方法[^2]:
```csharp
string result = string.Join(";", flowlist.ToArray()); // 结果将是:"a;b;c;d"
```
相关问题
C# 删除List<string>同名的字符串,形成新的 List,给出示例
在C#中,如果你想删除`List<string>`中同名的字符串,并创建一个新的列表,可以使用LINQ(Language Integrated Query)来实现。首先,你需要遍历原列表,将每个字符串与其出现的次数记录下来,然后只保留第一次出现的项。下面是一个简单的示例:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// 原始字符串列表
List<string> originalList = new List<string>() { "apple", "banana", "apple", "orange", "banana" };
// 使用LINQ去重并创建新列表
var uniqueList = originalList.Distinct().ToList();
Console.WriteLine("Original List:");
foreach (string item in originalList)
Console.WriteLine(item);
Console.WriteLine("\nUnique List (No duplicates):");
foreach (string uniqueItem in uniqueList)
Console.WriteLine(uniqueItem);
// 示例代码结束
C#两个list集合去重复
你可以使用LINQ库来对List集合进行去重,示例代码如下:
```
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
List<int> list1 = new List<int> { 1, 2, 3, 4 };
List<int> list2 = new List<int> { 3, 4, 5, 6 };
List<List<int>> listCollection = new List<List<int>> { list1, list2 };
var mergedList = listCollection.SelectMany(l => l).Distinct().ToList();
Console.WriteLine(string.Join(",", mergedList));
}
}
```
输出结果为:`1,2,3,4,5,6`。
这里先将两个List集合放在一个List集合中,然后使用`SelectMany`函数将所有List集合中的元素取出来,再使用`Distinct`函数进行去重,最后将结果转换成List类型。注意需要先引入`System.Linq`命名空间,才能使用LINQ库中的函数。
阅读全文