.net - 什么是一流的编程结构?

标签 .net

当尝试在 C# 中做一些相当高级的事情(比如某种 hack)时,会提出“一流”的概念。

例如,方法是一流的编程构造,因为您可以用它来做 xyz(xyz 不是方法所做的,而是方法通常给您的,我不记得现在 xyz 是什么),但是在 . NET 1.1 委托(delegate)无法传递给方法,因为它们不是一流的编程结构(我读过一些类似的东西)。

究竟什么是一流的编程结构?

谢谢

最佳答案

"first-class citizen" or "first-class element" 的概念英国计算机科学家 Christopher Strachey 介绍了一种编程语言在 1960 年代,在一流职能的背景下。该原理最著名的表述可能在 Structure and Interpretation of Computer Programs 中。 (就在 Exercise 1.40 之前)由 Gerald Jay Sussman 和 Harry Abelson 撰写:

  • 它们可以由变量命名。
  • 它们可以作为参数传递给过程。
  • 它们可以作为程序的结果返回。
  • 它们可能包含在数据结构中。

  • 基本上,这意味着你可以用这个编程语言元素做你可以用编程语言中的所有其他元素做的所有事情。

    关于.net - 什么是一流的编程结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/646794/

    相关文章:

    .net - Windows 窗体中的 MVP 和 IOC?

    .net - Excel 对象模型的文档

    c# - 为什么移动矩形不一致?

    .net - 如何在 Entity Framework (EF6) Code-First 中映射冗余关系

    c# - 用动态列填充数据网格

    .net - 在应用程序中构建自动化的想法

    c# - 集合接口(interface)和 WCF

    c# - 未设置 cookie 路径时的 CookieCollection 问题

    jquery - 如何将 JQuery 图像 slider 与母版页一起使用?

    c# - 如何在 Enum C# 中设置字符串?