C#winfrom List去重
时间: 2023-07-05 18:28:56 浏览: 60
在 C# WinForms 中,你可以使用 LINQ 中的 Distinct() 方法来去重一个列表。以下是一个示例代码:
```csharp
List<int> myList = new List<int> { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 };
List<int> uniqueList = myList.Distinct().ToList();
```
在这个例子中,我们首先创建一个包含重复元素的整数列表 myList,然后使用 Distinct() 方法去重。最后,我们使用 ToList() 方法将结果转换为一个新的 List 对象 uniqueList。
如果你需要保留原始列表的顺序,你可以使用 LINQ 中的 GroupBy() 方法和 Select() 方法来实现:
```csharp
List<int> myList = new List<int> { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 };
List<int> uniqueList = myList.GroupBy(x => x).Select(x => x.Key).ToList();
```
在这个例子中,我们使用 GroupBy() 方法将列表分组为具有相同值的元素,然后使用 Select() 方法选择每个分组的 Key 值,最后使用 ToList() 方法将结果转换为一个新的 List 对象 uniqueList。
相关问题
C#winfrom List String去重
在 C# WinForms 中,你可以使用 LINQ 中的 Distinct() 方法来去重一个字符串列表。以下是一个示例代码:
```csharp
List<string> myList = new List<string> { "apple", "banana", "banana", "cherry", "cherry", "cherry" };
List<string> uniqueList = myList.Distinct().ToList();
```
在这个例子中,我们首先创建一个包含重复元素的字符串列表 myList,然后使用 Distinct() 方法去重。最后,我们使用 ToList() 方法将结果转换为一个新的 List 对象 uniqueList。
如果你需要忽略字符串的大小写进行去重,你可以使用 StringComparer.OrdinalIgnoreCase 作为 Distinct() 方法的参数:
```csharp
List<string> myList = new List<string> { "apple", "banana", "BANANA", "cherry", "Cherry", "CHERRY" };
List<string> uniqueList = myList.Distinct(StringComparer.OrdinalIgnoreCase).ToList();
```
在这个例子中,我们使用 Distinct() 方法的重载版本,并传递一个 StringComparer.OrdinalIgnoreCase 参数。这将忽略字符串的大小写进行去重。
C#winfrom List String去重不使用自带方法
如果你不想使用 LINQ 中的 Distinct() 方法来去重一个字符串列表,你可以使用以下代码实现:
```csharp
List<string> myList = new List<string> { "apple", "banana", "banana", "cherry", "cherry", "cherry" };
List<string> uniqueList = new List<string>();
foreach (string item in myList)
{
if (!uniqueList.Contains(item))
{
uniqueList.Add(item);
}
}
```
在这个例子中,我们首先创建一个包含重复元素的字符串列表 myList,然后创建一个新的空列表 uniqueList,用来存储去重后的元素。
接着,我们使用 foreach 循环遍历 myList 中的每个元素。对于每个元素,我们检查它是否已经存在于 uniqueList 中,如果不存在,则将其添加到 uniqueList 中。
这个方法虽然实现简单,但是对于大规模数据集的性能可能不够高效。对于大规模数据集,使用 HashSet<T> 或者 SortedSet<T> 可能更好。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)