我想要一个需要返回非元音词的扩展方法。我设计了
public static IEnumerable<T> NonVowelWords<T>(this IEnumerable<T> word)
{
return word.Any(w => w.Contains("aeiou"));
}
我收到错误,因为“T”不包含extanesion方法“Contains”。
答案 0 :(得分:14)
如果你总是处理字符串,则不需要使用泛型方法。
public static IEnumerable<string> NonVowelWords(this IEnumerable<string> words)
{
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
return words.Where(w => w.IndexOfAny(vowels) == -1);
}
答案 1 :(得分:1)
尝试
public static IEnumerable<string> NonVowelWords<T>(this IEnumerable<string> word)
{
return word.Where(w => !(w.Contains("a") || w.Contains("i") || w.Contains("u") || w.Contains("e") || w.Contains("o")));
}