在将
这是错误信息:
bool distinct
添加到Splitter方法并检查distinct is true
后,代码出现了问题。查询现在不是字典,而是IEnumerable<string>
,但应该是Dictionary<string, int>
。如何解决?这是错误信息:
代码如下:无法隐式转换类型'System.Collections.Generic.IEnumerable'为'System.Collections.Generic.Dictionary'。存在显式转换(是否缺少强制转换?)
private Dictionary<string, int> Splitter(string[] file, bool distinct)
{
var query = file
.SelectMany(i => File.ReadLines(i)
.SelectMany(line => line.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries))
.AsParallel()
.Select(word => word.ToLower())
.Where(word => !StopWords.Contains(word))
.Where(word => !StopWordsPl.Contains(word))
.Where(word => !PopulatNetworkWords.Contains(word))
.Where(word => !word.All(char.IsDigit)));
if (distinct)
{
query = query.Distinct();
}
query.GroupBy(word => word)
.ToDictionary(g => g.Key, g => g.Count());
return query;
}