C Sharp(十六) 發佈於 2018-12-01 这一篇,我们讲讲 C# 中的异常处理 —— try、catch、finially。 什么是异常 异常是程序运行时错误,出现正常操作时未预料的情况。
C Sharp(六) 發佈於 2018-10-25 这一篇,讲讲 C# 中的结构体类型和枚举类型。...与 Swift 类似,C# 中的简单预定义类型在实现方式上是使用结构类型。所以可以调用一些方法,如: 所有类型都有的 GetType 方法。...= 20 } 位标记 我们使用 Flags 特性实现位标记: [Flags] enum Setting : uint { A = 0x0001, B = 0x0010, C...= 0x0100, D = 0x1000 } Setting opts = Setting.A | Setting.B | Setting.C; opts.HasFlags(Setting.D...); //false C# 中的枚举与 Objective-C 的实现 NS_ENUM 和 NS_OPTIONS 类似。
C Sharp(十一) 發佈於 2018-11-11 这一篇,我们再来看看 C# 中的显式转换以及隐式转换。...隐式转换 有些类型的转换不会丢失数据或精度: C# 会自动做这些转换,称为隐式转换 从位数少的源转换为位数更多的源,目标多出来的位使用 0 或 1 补充 当从小的无符号类型转换为更大的无符号类型,多出来的位以...0 进行填充,称为 0 扩展 对于有符号类型,额外的高位使用符号位进行扩展,称为符号扩展 显式转换 对于源类型的任意值在被转换为目标类型时会丢失的情况,C# 语言是不提供两种类型的自动转换,如果我们希望这两种类型进行转换...ushort var1 = 10; sbyte var2 = (sbyte)var1; 装箱转换 C# 所有类型都继承自 object 类型,然而,值类型是高效轻量的类型,但是当我们需要对象组件,可以使用装箱
C Sharp(七) 發佈於 2018-10-28 这一篇,我们讲讲 C# 中的数组对象及其协变概念。 概述 ---- 数组是由变量名表示的一组同类型的数据元素,每个元素可以通过索引来访问。...C# 数组的特点: C# 不支持动态数组,也就是数组一旦创建,就不可以更改大小 索引从 0 开始 数组类型 C# 支持一维数组和多维数组,多维数组又分为矩形数组和交错数组。...继承来的对象,继承了很多属性和方法: Rank 属性,返回数组的维数 Length 属性,返回数组的长度 注意: 数组是引用类型,数组元素可以是值类型也可以是引用类型,这一点与 Ocjective-C...不同,Ocjective-C 中的数组元素不能是基本类型。
C Sharp(十) 發佈於 2018-11-10 这一篇,我们再回来说说最后一种类型: 接口(interface)。 什么是接口 接口是指定一组函数成员而不实现他们的引用类型。
C Sharp(二) 發佈於 2018-10-16 这一篇,我们看看 C# 中的类有哪些特殊的概念。...与 Objective-C 和 JavaScript 不同,所有字段都属于类型,必须在内部声明,也就是说没有全局变量的概念。...方法 ---- C# 方法体是一个块,包含以下项目: 本地变量 控制流结构 方法调用 内嵌块 static void Main() { int a = 3; if (a > 3) {...也要注意与继承概念中的方法重写(method override)的区别 命名参数 之前我们讲的都是位置参数,此外 C# 还允许使用命名参数。...在调用方法时,形参名后跟冒号和实参: c.Calc(a: 1, b: 2, c: 3); 方法在调用时,可以既有位置参数又有命名参数,如果这么做,所有的位置参数必须先列出。
C Sharp(八) 發佈於 2018-10-31 这一篇,我们讲讲 C# 中特殊的委托(delegate)。 概述 ---- 委托和类一样,都是用户定义类型。...C# 中的 Lambda 表达式与 JavaScript 中的很像。如果只有一个参数,可以省略括号,如果只有一个返回值语句,可以省略大括号和 reuturn 关键字。
C Sharp(三) 發佈於 2018-10-19 这一篇,我们深入理解一下 C# 中的类。 类的成员 ---- 上篇我们说过了 2 个类成员: 字段和方法。...类似于 C 语言的 #define。...属性 C# 中的属性非常像 Swift 中的计算属性。他们在使用时非常像字段,但是和字段不同的是,他们是函数成员,可以执行代码。...C# 还提供了自动属性实现,不需要提供关联字段,也不需要提供访问器的方法体,get 和 set 后直接跟分号。
C Sharp(十三) 發佈於 2018-11-19 这一篇,我们看看 C# 中的枚举器和迭代器的基本概念。...IEnumerable 接口的 GetEnumerator 方法要返回实现 IEnumerator 接口的枚举器实例 泛型版本的 Current 属性返回的不是 object 类型,而是实际类型的对象 迭代器 C#
C Sharp(十五) 發佈於 2018-11-30 这一篇,我们讲讲 C# 网络编程中比较重要的概念 —— 异步。 什么是异步 当程序启动时,系统就会在内存创建一个新进程。...关于线程: 默认情况下,一个进程只包含一个线程,从程序的开始一直执行到结束 线程可以派生其他线程 如果一个进程包含多个线程,他们将共享进程资源 系统为处理器执行所规划的基本单元是线程而不是进程 在 C#...这个特性是 .Net 框架的一部分,但是没有嵌入 C# 中。 async/await 如果程序调用某个方法,等待其执行所有处理之后才继续执行,我们称这样的方法为同步方法。
C Sharp(五) 發佈於 2018-10-23 这一篇,我们讲讲 C# 中的表达式和运算符。 运算符 ---- 运算符(操作符)是一个符号,表示返回单个结果的操作。...int KernelPanic = 0x12131992; 算术运算符 与其它语言一样,C# 有加,减,乘,除,取余5种运算符。...关系运算符 与其它语言一样,C# 有大于、大于等于、小于、小于等于、等于、不等于 6 种关系运算符。...需要注意的是: 与 Objective-C 和 JavaScript 中不同,C# 的数字不具有布尔含义。...语句 ---- 我们只介绍一下 C# 中比较特殊的语句。
C Sharp(四) 發佈於 2018-10-22 这一篇,我们讲讲 C# 中关于继承的相关知识。...与 Objective-C 的继承声明相同。...C# 中的继承是单继承,与 Objective-C、JavaScript 一样。 通常我们称一个类为派生类时,我们是说他直接派生自某个类而不是 object。...注意: Objective-C 没有虚方法的概念,Objective-C 中所有的方法都是虚方法: @interface Animal: NSObject - (void)sing; @implementation...static 方法,参数传入要扩展的类的实例,并且前面加 this 关键字 public static double Avg(this MyBaseClass bc) { } } C#
C Sharp(十四) 發佈於 2018-11-20 这一篇,讲讲 LINQ。...LINQ 的出现也就意味着允许我们在 C# 中使用函数式编程的思想。...{ int total = numbers.Sum(); // 6 int howMany = numbers.Count(); // 3 } } C#
C Sharp(十二) 發佈於 2018-11-14 这一篇,讲讲泛型。...之前写 Objective-C 的时候,感觉他的泛型太弱了,现在写 C#,感觉他的泛型系统太好用了!...这样做可行,但是缺点明显: 我们要仔细检查类型的修改 每当新增类型,就要复制粘贴修改 调试维护这些类似的代码易出错 C# 中的泛型 泛型(generic)提供了更优雅的解决方案,让多个类型共享一组代码...C# 提供了 5 种泛型可用在的地方: 类、结构、接口、委托、方法。前四种是类型,最后一种是成员。...; } } 泛型委托 泛型委托与非泛型委托类似,要声明泛型委托,需要在委托名称之后,委托参数列表之前放置类型参数列表: delegate R MyDelegate (T t); C#
C Sharp(十七) 發佈於 2018-12-04 这一篇,介绍一些 C# 中的比较常见的预处理指令。 C 和 C++ 都有实际的预处理阶段,而在 C# 中是没有的,预处理指令是由编译器来处理。...在 Objective-C 中预处理指令也特别常用。...基本规则 下面是预处理指令的主要规则: 预处理指令必须与 C# 代码处于不同行 包含预处理指令的行必须以 # 开头 # 字符前可以有空格 # 字符与预处理指令之间可以有空格 允许行尾有单行注释,不可以有多行注释...编译符号有如下特性: 可以是除了 true 和 false 之外的任何标识符,包括 C# 关键字,以及在 C# 中声明的标识符 他没有值,与 C 不同,他不表示字符串 #define 指令声明一个编译符号...#undef PremiumVersion 注意: #define 和 #undef 指令只能用于任何 C# 代码之前,在 C# 代码开始之后,这两个指令就都不可以使用了。
C Sharp(九) 發佈於 2018-11-06 前几篇,我们都在讲类型,这一篇,我们来说说事件成员。...在 Objective-C 中,我们可以在某些类 addObserver 注册一些事件处理程序,当事件发生时,pushNotifacitation。
C Sharp(一) 發佈於 2018-10-15 之前本来想学习一下 NodeJS,考虑到最近一直在使用 C#(主要使用 .Net Core 的 MVC 和 API),并且之前也仔细地研究过一段时间的...这次我打算边复习边将 C# 中的概念与其他语言做一下对比,以方便有其他语言基础的同学可以更好地理解在 C# 中的相似概念。...标识符 C# 中标识符规则: 字母和下划线可以出现在任意位置 数字可以放在除了首位的任意位置 @字符只可以出现在首位,但不推荐 C# 语言的标识符是大小写敏感的,这一点跟 Objective-C,Swift.../**/ 文档注释 /// 类型,存储和变量 ---- 如果要描述程序代码特征的话,我们可以说 C 程序就是一组函数和数据类型,C++ 程序就是一组函数和类,而 C# 则是一组类型声明。...C# 数组这一特征与 Objective-C 相同,与 JavaScript 的特征不同。 然而,另外一些类型可以包含不同类型的数据项,这些类型中的数据项个体称为 成员。
C Sharp(十八) 發佈於 2018-12-10 这一篇,我们讲讲 C# 中非常重要的概念 —— 反射和特性。
创建一个控制台应用程序,从键盘输入一个小写字母,要求输出该小写字母,其对应的大写字母,以及值。 using System; using System.Colle...
项目介绍: 本实例主要是接收安检金属门的数据解析并显示到界面上,只做功能实现,不做界面美化 硬件:金属门一个、网线一根、电脑主机,金属门网线可以直接接到电脑主机...
领取专属 10元无门槛券
手把手带您无忧上云