gpt4 book ai didi

c# - 使用 Linq 只返回每个项目一次

转载 作者:行者123 更新时间:2023-11-30 20:11:49 27 4
gpt4 key购买 nike

这就是我想要做的。有权使用由空格分隔的数字序列。保存这些数字后,我只想返回所有数字的字符串一次,即使一个数字在序列中出现了 n 次。

string[] tempNumbers = textValue.Split(' ');

IEnumerable<string> distinctNumbers = tempNumbers.Where(value => value.Distinct());

我收到这个错误:

Error   2   Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<char>' to 'bool' c:\users\sergio\documents\visual studio 2010\Projects\LinqPlayground\LinqPlayground\SetSemanticsExample.cs  67  75  LinqPlayground

最佳答案

扩展方法 IEnumerable.Distinct 不是谓词函数。它在 IEnumerable<T> 上运行并返回一个新的 IEnumerable<T>每个元素只出现一次。

要修复您的代码,只需执行以下操作:

IEnumerable<string> distinctNumbers = tempNumbers.Distinct();

I want to return a string of all the numbers only once

如果您希望将结果作为单个空格分隔的字符串,那么除了上述之外,您还需要调用 string.Join :

string result = string.Join(" ", distinctNumbers.ToArray());
txtResult.Text = result;

关于c# - 使用 Linq 只返回每个项目一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3225005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com