加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从C#中的集合中获取唯一值?

发布时间:2020-12-15 20:52:54 所属栏目:百科 来源:网络整理
导读:我正在使用C#VSTS2008 .Net 3.0.我有一个输入作为字符串数组.我需要输出数组的唯一字符串.任何想法如何有效地实现这一点? 例如,我输入{“abc”,“abcd”,“abcd”},我想要的输出是{“abc”,“abcd”}. 解决方法 使用LINQ: var uniquevalues = list.Distinc
我正在使用C#VSTS2008 .Net 3.0.我有一个输入作为字符串数组.我需要输出数组的唯一字符串.任何想法如何有效地实现这一点?

例如,我输入{“abc”,“abcd”,“abcd”},我想要的输出是{“abc”,“abcd”}.

解决方法

使用LINQ:

var uniquevalues = list.Distinct();

这会给你一个IEnumerable< string>.

如果你想要一个数组:

string[] uniquevalues = list.Distinct().ToArray();

如果您不使用.NET 3.5,则会更复杂一些:

List<string> newList = new List<string>();

foreach (string s in list)
{
   if (!newList.Contains(s))
      newList.Add(s);
}

// newList contains the unique values

另一个解决方案(可能更快一点):

Dictionary<string,bool> dic = new Dictionary<string,bool>();

foreach (string s in list)
{
   dic[s] = true;
}

List<string> newList = new List<string>(dic.Keys);

// newList contains the unique values

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读