您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计2861个文字,预计阅读时间需要12分钟。
了解+C
我们知道C#是非常先进的语言,因为是它很有远见的“语法糖”。这些“语法糖”有时过于好用,导致有人觉得它是C#编译器写死的东西,没有道理可讲的——有点像“黑魔法”。
那么我们可以看看C#这些高级语言功能,是编译器写死的东西(“黑魔法”),还是可以扩展(骚操作)的“鸭子类型”。
我先列一个目录,大家可以对着这个目录试着下判断,说说是“黑魔法”(编译器写死),还是“鸭子类型”(可以自定义“骚操作”):
- LINQ操作,与IEnumerable<T>类型;
- async/await,与Task/ValueTask类型;
- 表达式树,与Expression<T>类型;
- 插值字符串,与FormattableString类型;
- yield return,与IEnumerable<T>类型;
- foreach循环,与IEnumerable<T>类型;
- using关键字,与IDisposable接口;
- T?,与Nullable<T>类型;
- 任意类型的Index/Range泛型操作。
1. LINQ操作,与IEnumerable<T>类型
不是“黑魔法”,是“鸭子类型”。
本文共计2861个文字,预计阅读时间需要12分钟。
了解+C
我们知道C#是非常先进的语言,因为是它很有远见的“语法糖”。这些“语法糖”有时过于好用,导致有人觉得它是C#编译器写死的东西,没有道理可讲的——有点像“黑魔法”。
那么我们可以看看C#这些高级语言功能,是编译器写死的东西(“黑魔法”),还是可以扩展(骚操作)的“鸭子类型”。
我先列一个目录,大家可以对着这个目录试着下判断,说说是“黑魔法”(编译器写死),还是“鸭子类型”(可以自定义“骚操作”):
- LINQ操作,与IEnumerable<T>类型;
- async/await,与Task/ValueTask类型;
- 表达式树,与Expression<T>类型;
- 插值字符串,与FormattableString类型;
- yield return,与IEnumerable<T>类型;
- foreach循环,与IEnumerable<T>类型;
- using关键字,与IDisposable接口;
- T?,与Nullable<T>类型;
- 任意类型的Index/Range泛型操作。
1. LINQ操作,与IEnumerable<T>类型
不是“黑魔法”,是“鸭子类型”。

