【问题标题】:Operator '!' cannot be applied to operand of type 'method group'操作员 '!'不能应用于“方法组”类型的操作数
【发布时间】:2015-05-22 04:16:37
【问题描述】:

可能是重复但相关的问题,我还没有找到可行的解决方案。试图计算一个字符串中最多一个字符的位数。

得到错误:'!'不能应用于“方法组”类型的操作数

line.TakeWhile(!Char.IsLetterOrDigit).Count())

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    您需要在这里使用 lambda 表达式而不是方法组语法:

    line.TakeWhile(x => !Char.IsLetterOrDigit(x)).Count())
    

    【讨论】:

      【解决方案2】:

      问题正是错误告诉您的:您不能在函数上使用!Char.IsLetterOrDigit)- 一个简单的解决方案是将其扩展为 lambda:

      line.TakeWhile(c => !Char.IsLetterOrDigit(c)).Count())
      

      【讨论】:

        猜你喜欢
        • 2016-04-26
        • 2015-12-11
        • 2013-11-06
        • 2016-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-09
        • 1970-01-01
        相关资源
        最近更新 更多