gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 03:27:27 26 4
gpt4 key购买 nike

我一直在网上搜索声明式命令式 编程的定义,希望能给我一些启示。但是,我发现的某些资源中使用的语言令人生畏 - 例如 Wikipedia。 .有没有人可以向我展示一个真实的例子,这可能会为这个主题带来一些观点(可能在 C# 中)?

最佳答案

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

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

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

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/1784664/

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