原文:[C#.NET 拾遗补漏]10:理解 volatile 关键字

要理解 C 中的 volatile 关键字,就要先知道编译器背后的一个基本优化原理。比如对于下面这段代码: 在 Release 模式下,编译器读取 x 后紧接着读取 y x ,在单线程思维模式下,编译器会认为 y 的值始终都是 。所以编译器会把 y x 优化为 y ,避免每次读取 y 都执行一次 x 。但 x 字段的值可能在运行时被其它的线程修改,我们拿到的 y 值并不是通过最新修改的 x 计算得 ...

2020-10-28 08:49 23 3275 推荐指数:

查看详情

[C#.NET 拾遗补漏]08:强大的LINQ

大家好,这是 [C#.NET 拾遗补漏] 系列的第 08 篇文章,今天讲 C# 强大的 LINQ 查询。LINQ 是我最喜欢的 C# 语言特性之一。 LINQ 是 Language INtegrated Query 单词的首字母缩写,翻译过来是语言集成查询。它为查询跨各种数据源和格式的数据提供 ...

Mon Aug 31 16:36:00 CST 2020 34 8524
[C#.NET 拾遗补漏]09:数据标注与数据校验

数据标注(Data Annotation)是类或类成员添加上下文信息的一种方式,在 C# 通常用特性(Attribute)类来描述。它的用途主要可以分为下面这三类: 验证 Validation:向数据添加验证规则 显示 Display:指定数据如何呈现给用户 模型 Modeling ...

Fri Oct 09 18:27:00 CST 2020 3 2569
[C#.NET 拾遗补漏]12:死锁和活锁的发生及避免

多线程编程时,如果涉及同时读写共享数据,就要格外小心。如果共享数据是独占资源,则要对共享数据的读写进行排它访问,最简单的方式就是加锁。锁也不能随便用,否则可能会造成死锁和活锁。本文将通过示例详细讲解死 ...

Fri Nov 13 15:34:00 CST 2020 10 3628
[C#.NET 拾遗补漏]06:单例模式最佳实践

大家好,这是【C#.NET 拾遗补漏】专辑的第 06 篇文章。今天讲讲大家熟悉的单例模式。 单例模式大概是所有设计模式中最简单的一种,如果在面试时被问及熟悉哪些设计模式,你可能第一个答的就是单例模式。 单例模式的实现分为两种:饿汉式和懒汉式。前者是在静态构造函数执行时就立即实例化,后者是在程序 ...

Thu Jul 30 03:39:00 CST 2020 3 1429
[C#.NET 拾遗补漏]01:字符串操作

加上 @ 符号。 输出: 逐字字符串中唯一不被原样解释的字符是双引号。由于双引号是定义字符串的关键字符 ...

Wed Jun 03 18:06:00 CST 2020 9 2500
[C#.NET 拾遗补漏]04:你必须知道的反射

阅读本文大概需要 3 分钟。 通常,反射用于动态获取对象的类型、属性和方法等信息。今天带你玩转反射,来汇总一下反射的各种常见操作,捡漏看看有没有你不知道的。 获取类型的成员 Type 类的 ...

Tue Jun 09 16:58:00 CST 2020 11 5370
[C#.NET 拾遗补漏]11:面试必备线程基础知识点

线程的知识太多,知识点有深有浅,往深的研究会涉及操作系统、CPU、内存,往浅了说就是一些语法。没有一定的知识积累,很难把线程的知识写得全面,当然我也没有这个能力。所以想到一个点写一个点,尽量总结一些有 ...

Tue Nov 10 17:04:00 CST 2020 12 2948
[C#.NET 拾遗补漏]02:数组的几个小知识

阅读本文大概需要 1.5 分钟。 数组本身相对来说比较简单,能想到的可写的东西不多。但还是有一些知识点值得总结和知晓一 下。有的知识点,知不知道不重要,工作中用的时候搜索一下就可以了,毕竟实 ...

Fri Jun 05 17:00:00 CST 2020 7 1340
 
粤ICP备18138465号  © 2018-2026 CODEPRJ.COM