LINQ查询语法(计数操作)

Pat*_*ick 1 c# linq

我目前有一个LINQ语句,可以使用方法语法.很想知道等效查询语法是怎样的.尝试进行多次迭代,但无法使用查询语法成功

目前我有2个字符串 - 一个是句子,另一个是字母.我将它们转换为字符进行比较 - 所以我可以在完整字符串中找到字符的出现次数.

string sentenceToScan = "I Love StackOverflow!!!!";
string characterToScanFor = "e";

var stringToCheckAsCharacterArray = sentenceToScan.ToCharArray();
var characterToCheckFor = Char.Parse(characterToScanFor);

int numberOfOccurenes = stringToCheckAsCharacterArray.Count(n =>
                                              n == characterToCheckFor);

Answer: 2
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 9

Count 没有查询表达式语法,它只能附加在查询表达式的末尾,如:

var count = (from t in stringToCheckAsCharacterArray
            where t == characterToCheckFor).Count();
Run Code Online (Sandbox Code Playgroud)

要么

var count = (from t in stringToCheckAsCharacterArray
            where t == characterToCheckFor
            select t).Count();
Run Code Online (Sandbox Code Playgroud)

我个人喜欢Method表达式,LINQ查询表达式也在Method表达式中编译.你自己的Count谓词代码更具可读性IMO.