-1

我有一个包含整数、字符串和指向其他类的指针的类。我正在尝试提取字符串并对它们执行子字符串操作,然后再选择.Distinct。我的 LINQ 代码看起来不错

List<string> crops = (from m in cropTypes
            let cw = m.CropName
            let kw = cw.Substring(0, cw.LastIndexOf(")") + 1)
                select(kw).Distinct()).ToList();

我也试过

var crop = …
List<string> crops = crop.ToList();

当我尝试编译时,我得到

无法隐式转换类型

System.Collections.Generic.List<System.Collections.Generic.IEnumerable<char>> to System.Collections.Generic.List<System.Collections.Generic.IEnumerable<string>>

在 ToList() 行上。

m.CropName 绝对是一个字符串

为什么编译器认为我使用的是字符列表而不是字符串列表,我该如何解决这个问题。

没有什么比一个简单的问题更能在一天开始时难倒你了!

4

1 回答 1

4

尝试

List<string> crops = (from m in cropTypes
  let cw = m.CropName
  let kw = cw.Substring(0, cw.LastIndexOf(")") + 1)
  select kw).Distinct().ToList();

如果你在一个字符串上调用 Distinct,你实际上是在枚举字符串的字符。

于 2013-06-04T09:46:23.980 回答