gpt4 book ai didi

c# - 是否可以像 LINQ 一样创建 C# 语言修改?

转载 作者:可可西里 更新时间:2023-11-01 08:43:09 26 4
gpt4 key购买 nike

我一直在看 Mr. Skeet's blog on how to re-implement LINQ .

他特别声明代码:

var list = (from person in people
where person.FirstName.StartsWith("J")
orderby person.Age
select person.LastName)
.ToList();

被转换为 LINQ 库提供的扩展方法的方法:

people.Where(person => person.FirstName.StartsWith("J"))
.OrderBy(person => person.Age)
.Select(person => person.LastName)

BY THE COMPILER.

我的问题是,如何用一个库给大佬们留下足够深刻的印象,使他们允许改变语言以支持该库?还是这些词在 LINQ 出现之前就已经保留了?

最佳答案

获取 Mono C# 编译器 - 它是开源的,您可以进行任何您想要的语言修改以及 .net 支持的语言,例如,使用枚举作为通用约束,创建返回对值类型的引用的方法(public ref int Max(ref int x, ref int y) { if (x>y) return ref x; else return ref y; }), 具有 protected 或内部可见性等

当然,您随后创建了一个不兼容的 C# 派生版本,但如果您努力插入它,那么人们可能会喜欢它。

另一种选择:创建一个博客,为它提出一些非常好的用例,可能是 .net 语言的示例实现或使用定制的编译器,展示它解决了什么问题以及为什么这将是一个巨大的胜利这证明了用于指定、设计、开发、测试和记录功能的成本。

关于c# - 是否可以像 LINQ 一样创建 C# 语言修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7247306/

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