gpt4 book ai didi

c# - 编程中声明式范例和命令式范例有什么区别?

转载 作者:行者123 更新时间:2023-12-02 01:32:46 29 4
gpt4 key购买 nike

我一直在网上搜索声明式命令式编程的定义,这将为我带来一些启发。然而,我发现的一些资源中使用的语言令人畏惧 - 例如 Wikipedia 。有谁可以向我展示一个真实世界的例子,这可能会给这个主题带来一些视角(也许是用 C# 实现的)?

最佳答案

LINQ 是声明式编程与命令式编程的一个很好的 C# 示例。

通过命令式编程,您可以一步一步告诉编译器您想要发生什么。

例如,让我们从这个集合开始,并选择奇数:

List<int> collection = new List<int> { 1, 2, 3, 4, 5 };

通过命令式编程,我们将逐步完成此过程,并决定我们想要什么:

List<int> results = new List<int>();
foreach(var num in collection)
{
if (num % 2 != 0)
results.Add(num);
}

在这里,我们要说的是:

  1. 创建结果集合
  2. 遍历集合中的每个数字
  3. 检查数字,如果是奇数,则将其添加到结果中

使用声明式编程,另一方面,您编写的代码描述您想要什么,但不一定如何获得它(声明您想要的结果,但不是一步一步) :

var results = collection.Where( num => num % 2 != 0);

在这里,我们说的是“给我们所有奇怪的地方”,而不是“逐步浏览集合。检查此项,如果奇怪,将其添加到结果集合中。”

在许多情况下,代码也会混合两种设计,因此它并不总是黑白分明的。

关于c# - 编程中声明式范例和命令式范例有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47555196/

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