.NET 社区里的活跃分子 Luke H. 在一篇文章中展示了如何在 400 行的代码中,用 C# 3 和 LINQ 编写一个 Ray Tracer。
Ray Trace 是在二维表面上,比如计算机屏幕或者打印的纸张上,渲染 3D 图像的一种方法。它的做法通常是从一个 2D 表面的像素跟踪一个虚拟的光束到它第一次触到的三维物体。根据所触到的物体的纹理,它会继续跟踪,直到到达光源。
Luke 使用 LINQ 简化了分类(sorting)和过滤(filtering)集合,以及计算交集时的循环的代码。虽然对象和集合不会明显地改变例子中的代码,代码中还是对它们进行了初始化。
代码之所以得到简化和减少的真正原因是,Luke 用 Lambda 表达式(expression)代替了子类(subclass)和重载了委托(delegate)。
Ray Tracer 的相关解释和本文提到的源代码可以在 Luke 的博客中得到。
更多内容推荐
39.JDK SPI 与 Dubbo SPI 机制
2023-09-29
以 Python 为例的 Async/Await 的编程基础
近年来,许多编程语言都在努力改进它们的并发原语。async/await,这是当今使用最为广泛的并发操作类型。
C# 8 将为断言和自动化测试带来 Caller Expression Attribute
根据“Caller Expression Attribute”提案,表达式也将支持Caller Information Attribute。
池化.NET 内存流以解决大内存堆分配问题
与很多依赖于标记-清理的垃圾回收器的语言一样,C#也会在频繁分配内存或分配大块内存时产生性能问题。微软必应的高级软件开发工程师Ben Watson,就曾在使用MemoryStream类的时候遇到了这种问题。
微软正式发布 .NET 6 LTS 版本
号称是“迄今为止最快的 .NET”。
.NET 4.6 中的性能改进
.NET 4.6中带来了一些与性能改进相关的CLR特性,这些特性中有一部分将会自动生效,而另外一些特性,例如SIMD与异步本地存储则需要对编写应用的方式进行某些改动。
微软发布 .Net for Apache Spark :用什么语言开发大数据都可以
从今天起,你用什么语言进行数据分析都可以了:Microsoft 现已发布 .NET for Apache® Spark™ 预览版
受够了结构化编程的复杂,微软发布全新编程语言 Bosque
微软发布新开源编程语言Bosque,该语言超越了结构化编程模型,采用了“正规化编程模型”。
38. 消费方如何消费数据消费分区
2023-09-30
Entity Framework 中的字符串插值引发担忧
将内插字符串自动地转化为参数化SQL语句,这是Entity Framework Core 2提供的一个新特性。虽然该特性从设计上是为了避免出现SQL语句编写上的问题,但是有人担心这会导致更多的SQL注入攻击。
取代 Python 多进程!伯克利开源分布式框架 Ray
Ray是一个用于并行计算和分布式Python开发的开源项目。本文将介绍如何使用Ray轻松构建可从笔记本电脑扩展到大型集群的应用程序。
02. 业务经理在管理方面要承担哪 7 个角色和职责?
2023-10-17
浪花过后,2022 低代码该往哪儿走?
来源 / ToB行业头条 (ID:wwwqifu)
2022-01-21
.NET 4.6 的 RyuJIT 编译器中发现严重的 Bug
来自Stack Exchange的开发者Nick Craver与Marc Gravell提交了一个严重的bug的相关报告,它可能会影响到安装了.NET 4.6的用户与开发者。一旦安装了.NET 4.6之后,新的RyuJIT编译器将默认设置为启动状态,它在用户的程序执行时可能会产生一个严重的问题。
2、JVM 相关工具 -JDK 自带 jps,jstat,jinfo
2023-09-26
C++20:核心语言
本文讲述了关于C++20 核心语言的概述。
04. 阿里集团数字化战略的制定要素
2023-10-17
微软发布.NET 5.0 RC1,未来将只有一个.NET
微软发布了.NET 5.0 RC1,这是.NET 5在11月正式发布之前的第一个“go-live”版本。
.NET 6 新东西 -- 高性能日志
一提到日志记录,大家就会想到log4net,如果提到.NET中的日志记录,一定会想到ILogger,这个ILogger是.NET中常用的提供的日志记录的方式,下面的代码是.NET Core WebAPI 项目初始化的代码,其中就使用了ILogger来提供日志记录:
2021-12-17
1. 湖仓一体(一)
2023-09-08
推荐阅读
14. 关键客户关系四要素
2023-10-17
PyTorch 2.5 发布,支持英特尔 GPU
编程语言EPPlus - 用于 .NET 的 Excel 电子表格
2022-08-24
.NET 无侵入自动化探针原理和主流实现
致谢
2023-12-01
用 TornadoVM 让 Java 性能更上一个台阶
12. 如何构建普遍客户关系
2023-10-17
电子书
大厂实战PPT下载
换一换 郑岩 | 华为云 质量运营与流程IT部 / AI变革首席专家
刘达 | 蚂蚁集团 高级开发工程师
王亚东 | 京东零售集团 Y业务部产品总监
评论