V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
drymonfidelia
V2EX  ›  程序员

C#的 LINQ 查询是不是所有编程语言中最优雅的?为什么其它编程语言不学习?写起来太爽了

  •  
  •   drymonfidelia · 8 小时 3 分钟前 · 626 次点击
    9 条回复    2026-03-12 01:38:05 +08:00
    chingyat
        1
    chingyat  
       7 小时 59 分钟前
    虽然语法很优雅,但毕竟是一种 DSL 。
    Rust 的 Sqlx 更优雅吧,直接写 SQL ,支持编译时验证。
    drymonfidelia
        2
    drymonfidelia  
    OP
       7 小时 55 分钟前
    @chingyat LINQ 编辑时就能验证和自动补全,直接写 SQL 复杂的查询逻辑很容易写错
    ratazzi
        3
    ratazzi  
       7 小时 53 分钟前
    你去看看 Rails
    levelworm
        4
    levelworm  
       6 小时 36 分钟前
    这玩意能直接进入 Databricks 数据库查询吗?能的话倒是有点实用价值。实在是不习惯 PySpark 的一个个函数调用的写法,但是又不喜欢纯 SQL 。。。

    https://www.cdata.com/kb/tech/databricks-ado-linqtoef.rst

    好像还真可以。
    liuliuliuliu
        5
    liuliuliuliu  
    PRO
       6 小时 18 分钟前
    ```
    因为 LINQ 不仅是语言特性,还需要库的支持,它要求:

    语言支持扩展方法
    语言支持将 lambda 表达式编译到 AST
    库层面提供 AST 抽象
    语言支持反射,且泛型保留类型信息到运行时(具现化泛型)
    语言支持 generator (yield)

    ```

    ```
    因为非常非常难……
    C# 3.0 可以说是 C#历史上最大的一次改动,从语言到库的层面可以说是做了革命性的变化,单单是上下文关键字,就一次性新增了 from 、where 、select 、group 、by 、join 、equals 、on 、let 、order 、into 、asscending 、descending 一大堆,加上原有的 in 啥的。这特么就是重新设计了一个新的语言。
    而 C#为了支持 LINQ Expression ,从语言到库都是进行了一系列的改造:

    ```
    来自
    https://www.zhihu.com/question/447572572
    iorilu
        6
    iorilu  
       6 小时 18 分钟前
    现在都 AI 了,我看现在很多程序都用原生 SQL 了,反正都是 AI 写。
    GiantHard
        7
    GiantHard  
       6 小时 3 分钟前
    F# 还提供了一个更加进化的版本 Computation Expression ,允许自定义关键字
    metalvest
        8
    metalvest  
       6 小时 2 分钟前
    爽就对了,要不然为什么叫语法糖呢,语法糖都爽
    Al0rid4l
        9
    Al0rid4l  
       2 小时 29 分钟前
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    ♥ Do have faith in what you're doing.