正值端午传统节日,在国内知名的.NET 技术社区博客园中进行了一场较为激烈的讨论。讨论话题围绕:.NET 中的泛型是否会影响性能。
飞林沙的一篇文章《从 dynamic 到特性误用》引起了这场讨论。在这片文章中,飞林沙指出 C# 4.0 新增的 dynamic 关键字会对程序性能的影响,呼吁大家仅在合适的时候使用 dynamic 新特性。可能是由于社区中对于 C# 4.0 的新特性还不太关注,这个问题本身的反响不大。反而是文章所引发的一个周边话题引起了网友的兴趣。
在文章的结尾,飞林沙认为太多开发人员并没有了解新特性的优劣就盲目追逐,并举出他所认为的一个泛型错误做法:
……我看到有人在代码中使用 List
更多内容推荐
.NET 生态系统概览
.NET 5预计会在2020年发布,届时将统一所有.NET平台。
.NET6 新东西 -- 插值字符串优化
字符串是我们平时使用最多的一个类型,从C#6开始就支持插值字符串,方便我们进行字符串的操作,并且大部分分析器也推荐使用插值这种写法,因为它够使得我们的代码更加清晰简洁,到了.NET6中的C#10则为我们提供了更好的实现方式以及更佳的性能。那么什么是插值
2021-11-25
加餐|愚昧之巅:你的 Rust 学习常见问题汇总
在学习Rust的过程中你经常被报错什么?来交流一波
2021-09-17
性能是.NET Core 的一个关键特性
.NET Core核心带来了许多性能方面的优化,无论是在执行速度方面还是内存分配方面。示例是集合和LINQ扩展方法、文本处理、网络的优化,还有一些新的类型和概念,比如可以用Span做些有趣的事情。在本文中,我们将讨论如何使用这些新概念。
C# 9 提案:模块初始化器
模块初始化器提案已经被提升到C# 9候选资格。它就像C#中的静态构造函数,但不是应用于一个类,而是应用于整个程序集。
09|破解性能谜题:性能优化的五层境界
这节课,我们来分析一下影响高性能程序的底层基石:代码实施、操作系统与硬件。分析如何在这些层面进行设计和调优,最终实现高性能的目标。
2022-10-29
微软发布.NET 5.0 RC1,未来将只有一个.NET
微软发布了.NET 5.0 RC1,这是.NET 5在11月正式发布之前的第一个“go-live”版本。
解决 C# 7.2 中的结构体性能问题
在某些使用了readonly关键字的情况下,C#编译器会创建出结构体的防御副本。虽然这个问题已经众所周知并被记录下来了,但仍然值得重新审视,因为它与C# 7.2的几个特性有关。in和ref readonly关键字的使用让这个问题出现得更频繁,而readonly结构体提供了一种解决方法。
13|类型系统:如何使用 trait 来定义接口?
trait是啥?能干什么?什么时候用?
2021-09-22
C#的未来:简化参数空值验证
人们对于这个特性的争议很大。
.NET Core 中的去虚
在使用抽象类和接口时,去虚可以提升性能。这项技术正慢慢进入.NET Core。
09|所有权:一个值可以有多个所有者么?
想要一个值有多个所有者,怎么办?
2021-09-10
.NET Core 3.0 中的数据库驱动框架 System.Data
System.Data对于.NET中任何关系型数据库的访问都至关重要。因为其前身是ActiveX Data Objects,所以它也被称为ADO.NET。
Mono 现状与未来: 从 Xamarin 到 WebAssembly、Blazor 及.NET 5
InfoQ采访了Mono项目的原作者Miguel de Icaza,讨论了Mono的当前状态及其在.NET生态系统中的未来。
C# 8 新提案让泛型 Attribute 成为现实
从一开始, Attribute就是.NET的一部分。尽管理论上CLR支持泛型Attribute,但在实现新提案之前,仍然无法在C#中使用它。
驯服泛型:明确使用时机
泛型到底应该在什么时候使用?
2022-11-09
通过减少内存使用改善.NET 性能
对.NET的性能调优来说,我们有一个普遍被误解的观念:规避内存分配的重要性。人们认为,由于内存分配是快速的,因此很少会对性能产生影响。
如何提高 C# StringBuilder 的性能
本文探讨使用C# StringBuilder 的最佳实践,用于减少内存分配,提高字符串操作的性能。
2021-11-18
微软发布 .Net for Apache Spark :用什么语言开发大数据都可以
从今天起,你用什么语言进行数据分析都可以了:Microsoft 现已发布 .NET for Apache® Spark™ 预览版
16|Compiler 编译:神乎其神的编译你是否有过胆怯?
我们接着上一讲刚学会的自定义代理案例,在不使用 Wrapper 已有机制的能力下,自己尝试使用简单的 API 操作来创建代理类。
2023-01-23
暂无签名
推荐阅读
22|重大变更(二):关于 C++26 的十大猜想
2023-03-13
C# 使用秒表类 Stopwatch 对程序的运行速度测试
2022-10-29
微软发布 .NET 7 预览版,重点关注容器和云
01|快速入门:Rust 中有哪些你不得不了解的基础语法?
2023-10-23
EPPlus - 用于 .NET 的 Excel 电子表格
2022-08-24
微软计划闭源在 VS Code 中的 C#扩展,开发者:无法接受的管理者权力滥用行为
01- 线程安全 -synchronized 原理剖析
2023-09-26
电子书
大厂实战PPT下载
换一换 朱洁 | 百度 数据库产品总架构师
段潇涵 | 字节跳动 产研&工程部门研发工程师
张城(元乙) | 阿里云 高级技术专家
评论