【发布时间】:2015-05-22 04:16:37
【问题描述】:
可能是重复但相关的问题,我还没有找到可行的解决方案。试图计算一个字符串中最多一个字符的位数。
得到错误:'!'不能应用于“方法组”类型的操作数
line.TakeWhile(!Char.IsLetterOrDigit).Count())
【问题讨论】:
可能是重复但相关的问题,我还没有找到可行的解决方案。试图计算一个字符串中最多一个字符的位数。
得到错误:'!'不能应用于“方法组”类型的操作数
line.TakeWhile(!Char.IsLetterOrDigit).Count())
【问题讨论】:
您需要在这里使用 lambda 表达式而不是方法组语法:
line.TakeWhile(x => !Char.IsLetterOrDigit(x)).Count())
【讨论】:
问题正是错误告诉您的:您不能在函数上使用!(Char.IsLetterOrDigit)- 一个简单的解决方案是将其扩展为 lambda:
line.TakeWhile(c => !Char.IsLetterOrDigit(c)).Count())
【讨论】: