gpt4 book ai didi

c# - TakeWhile 使用查询语法

转载 作者:太空宇宙 更新时间:2023-11-03 20:42:14 25 4
gpt4 key购买 nike

public static IEnumerable<long> FibonacciNumbers() {
long current = 0;
long next = 1;

while (true) {
long previous = current;
current = next ;
next = previous + next;
yield return current;
}
}

我可以得到小于 100 的第一个斐波那契数

var series = FibonacciNumbers().TakeWhile(num => num < 100);

只是好奇,我该如何使用查询语法来做到这一点?

最佳答案

您不会 - C# 查询表达式中没有任何内容对应于 TakeWhile(或 Take、Skip、SkipWhile 等)。 C# 查询表达式相对有限,但涵盖了一些大问题:

  • 选择(通过selectlet)
  • 哪里(通过哪里)
  • SelectMany(通过辅助 from 子句)
  • OrderBy/ThenBy(和降序)(通过 orderby 子句)
  • 加入(通过 join 子句)
  • GroupBy(通过 groupby 子句)
  • GroupJoin(通过 join ... into 子句)

VB 9's query support更广泛一些,但我个人喜欢 C# 的方法 - 它使语言相对简单,但您仍然可以通过点表示法做任何您想做的事情。

关于c# - TakeWhile 使用查询语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2063577/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com