如何将逗号分隔值数组转换为具有唯一值的数组?

时间:2014-11-13 09:29:08

标签: c# arrays linq

我有一个逗号分隔属性数组:

  • 红,绿
  • 绿色
  • 蓝,黑
  • 黄色
  • 红色,黑色

现在我想从数组中提取每种独特的颜色,产生以下列表:

  • 红色
  • 绿色
  • 黑色
  • 黄色

由于我是在一个非常复杂的结构中使用Entity Framework从数据库中提取信息,所以如果可能的话,我想在一个语句中进行转换。

1 个答案:

答案 0 :(得分:4)

假设您的属性数组如下:

string[] properties = {"Red,Green","Green","Blue,Black","Yellow","Red,Black"};

你应该用逗号分割并以这种方式选择不同的值:

string[] unique = properties.SelectMany(x=>x.Split(',')).Distinct().ToArray();