4.2k words 4 mins.

# Shell 基础 shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell 来启动、挂起、停止甚至是编写一些程序。 Shell 还是一个功能相当强大的编程语言,易编写,易调试,灵活性较强。Shell 是解释执行的脚本语言,在 Shell 中可以直接调用 Linux 系统命令。 # Shell 的分类 Bourne Shell:从 1979 年起 Unix 就开始使用 Bourne Shell,Bourne Shell 的主文件名为 sh C Shell:C Shell 主要在 BSD 版的 Unix...
8k words 7 mins.

# 对象销毁与垃圾回收 有些对象需要依靠显式销毁代码来释放资源,例如打开的文件、锁、操作系统句柄和非托管对象。它们在.NET 的属于中称为销毁(disposal),相应的功能则由 IDisposable 接口提供。此外,那些占用了托管内存但不再使用的对象必须在某个时间回收。这个功能称为垃圾回收,它由 CLR 执行。 销毁不同于垃圾回收,它通常是显式调用,而垃圾回收则是完全自动执行的。 # IDisposable 接口、Disposable 方法和 Close 方法 .NET Core 为需要进行销毁操作的类型提供了一个特殊的接口: public interface...
3k words 3 mins.

# LINQ 查询 LINQ 是 Language-Integrate Query 的缩写,它可以视为一组语言和框架特性的集合。LINQ 可以对本地对象集合或远程数据源进行结构化的类型安全的查询操作。 # 入门 LINQ 数据的基本组成部分是序列和元素。序列是任何实现了 IEnumerable<T> 接口的对象,而其中的每一项称为一个元素。 System.Linq 命名空间的 Enumerable 类中定义了约 40 种查询运算符。这些运算符是以静态扩展方法的形式来实现的,称为标准查询运算符。 对本地序列进行的查询操作称为本地查询或 LINQ-to-objects...
1.2k words 1 mins.

# C# 语言基础 # 数组 # 索引和范围(C# 8) 索引和范围可以和 CLR 类型 Span<T> 与 ReadOnly<T > 配合使用(请参见 5.4.16 节) 自定义类型也可以通过类型定义为 Index 或 Range 的索引器来使用索引和范围(请参见 3.1.9 节) 索引 索引使用 ^ 运算符从数组的末尾来引用数组元素。^1 代表最后一个元素而 ^2 代表倒数第二个元素,一次类推(^0 等于数组的长度,因此 vowels [^0] 将会产生错误)。 # null 运算符 C# 提供了三个简化 null...
24k words 22 mins.

# 在 C# 中创建类型 # 类 表达式体方法 以下仅由一个表达式构成的方法: int Foo(int x){ return x*2; }可以用表达式体方法简洁地表示,用胖箭头来取代花括号和 return 关键字: int Foo(int x)=> x*2;表达式体函数也可以用 void 作为返回类型: void Foo(int x)=> Console.WriteLine(x);# 实例构造器 实例构造器支持以下的修饰符: 访问权限修饰符:public internal private protected 非托管代码修饰符:unsafe...
3.6k words 3 mins.

# C# 的高级特性 # 委托 委托是一种知道如何对方法进行调用的对象。 委托类型定义了一类可以被委托实例调用的方法。具体的说,它定义了方法的返回类型和参数类型。 delegate int Transformer (int x);# 用委托编写插件方法 委托变量可以在运行时指定一个目标方法,这个特性可用于编写插件方法。 public delegate int Transformer (int x);class Util{ public static void Transform (int[] values, Transformer t) { for (int...
9.2k words 8 mins.

# CMake CMake 的定义是什么 ?----- 高级编译配置工具 当多个人用不同的语言或者编译器开发一个项目,最终要输出一个可执行文件或者共享库(dll,so 等等)这时候神器就出现了 -----CMake! 所有操作都是通过编译 CMakeLists.txt 来完成的 — 简单 官 方网站是 www.cmake.org,可以通过访问官方网站获得更多关于 cmake 的信息 学习 CMake 的目的,为将来处理大型的 C/C++/JAVA 项目做准备 # CMake 安装 1、绝大多数的 linux 系统已经安装了 CMake 2、Windows 或某些没有安装过的 linux...
31k words 29 mins.

# Chapter 1 The CLR’s Execution Model # Compiling Source Code into Managed Modules The core features of the CLR (such as memory management, assembly loading, security, exception handling, and thread synchronization) are available to any and all programming languages that target it—period. The...