Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LINQ查询语法(计数操作)_C#_Linq - Fatal编程技术网

C# LINQ查询语法(计数操作)

C# LINQ查询语法(计数操作),c#,linq,C#,Linq,我目前有一个LINQ语句,它可以很好地使用方法语法。我很想知道等价的查询语法是什么样子的。尝试进行多次迭代,但无法使用查询语法成功 目前我有两个字符串-一个是句子,另一个是字母表。我将它们转换为字符进行比较,这样我就可以在整个字符串中找到该字符的出现次数 string sentenceToScan = "I Love StackOverflow!!!!"; string characterToScanFor = "e"; var stringToCheckAsCharacterArray =

我目前有一个LINQ语句,它可以很好地使用方法语法。我很想知道等价的查询语法是什么样子的。尝试进行多次迭代,但无法使用查询语法成功

目前我有两个字符串-一个是句子,另一个是字母表。我将它们转换为字符进行比较,这样我就可以在整个字符串中找到该字符的出现次数

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

我的LINQ生锈了,但有点像:

stringToCheckAsCharacterArray.Where(n => n == characterToCheckFor).Count();

我的LINQ生锈了,但有点像:

stringToCheckAsCharacterArray.Where(n => n == characterToCheckFor).Count();

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

var count = (from t in stringToCheckAsCharacterArray
            where t == characterToCheckFor).Count();


我个人也喜欢方法表达。您自己的带有谓词的
Count
代码更具可读性。

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

var count = (from t in stringToCheckAsCharacterArray
            where t == characterToCheckFor).Count();


我个人也喜欢方法表达。您自己的带有谓词的
Count
代码在我看来更具可读性。

谢谢-我不知道我们可以这样使用Count函数。非常感谢,并将此标记为answer@Habib-count可以与诸如Patrick之类的谓词一起使用suggested@JeskoR.,可以,但它没有查询语法,如查询语法中的
Where
has
Where
Count
没有因此,您也可以使用lambda表达式,因此它可以作为where子句这样的条件工作?它说“查询体必须以select子句结尾…”。谢谢-我不知道我们可以这样使用count函数。非常感谢,并将此标记为answer@Habib-count可以与诸如Patrick之类的谓词一起使用suggested@JeskoR.,可以,但它没有查询语法,如查询语法中的
Where
has
Where
Count
没有因此,您也可以使用lambda表达式,因此它可以作为where子句这样的条件工作?它说“查询体必须以select子句结尾…”。这只是编写等效查询的不同方式,但不是查询语法(
from…where…select
)。这只是编写等效查询的不同方式,但不是查询语法(
from…where…select
)。我想答案是2<代码>我爱StackOv(e)rflow:):)哎呀,明显的打字错误:):)我想答案是2<代码>我爱StackOv(e)rflow:):)哦,明显的打字错误:):)