进行列表<string>中的每个元素,然后将列表存储回字符串</string>

时间:2012-05-10 11:26:19

标签: c# c#-4.0

假设我有以下内容:

public static string testtok( string ss)
{
    if ......
        return ss=................;

    return ss;
}
我可以做那样的事吗?

private string stemmingwords (List<string> wordstokens)
{
     return string.Join(" ", wordstokens).Where(x => testtok(x));
}

那么为什么它不起作用?请帮忙。

1 个答案:

答案 0 :(得分:6)

不应该是这样的:

private string stemmingwords (List<string> wordstokens)
{

 return string.Join(" ", wordstokens.Select(x=> testtok(x));
}

string.Join返回一个字符串,因此你的Where将在字符串上工作,即。 IEnumerable<char>

我的版本直接使用单词标记上的选择而不是string.Join上的结果。此外,Where是一个过滤操作,不会修改元素。 Select是一个投影操作,可以返回另一个被发送的元素,这就是你想要的。