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 补充 当从小的无符号类型转换为更大的无符号类型,多出来的位以...ushort var1 = 10; sbyte var2 = (sbyte)var1; 装箱转换 C# 所有类型都继承自 object 类型,然而,值类型是高效轻量的类型,但是当我们需要对象组件,可以使用装箱...装箱是一种隐式转换,接受值类型的值,在堆上创建一个引用类型对象,返回该引用。...如果转换失败,会返回 null。
C Sharp(二) 發佈於 2018-10-16 这一篇,我们看看 C# 中的类有哪些特殊的概念。...方法声明包括以下组成部分: 返回值类型,如果没有返回值,则指定为 void 方法名 参数列表,至少是一个空圆括号 方法体,包裹在一对大括号之间 class MyClass { void MyFunc...输出参数有如下要求: 必须在声明和调用时同时使用 out 关键字 实参必须是变量 在方法内部,输出参数在能被读取之前必须被赋值,这意味着,参数初始值是无用的,没必要在调用输出参数方法时给输出参数初始化 在方法返回之前...方法签名由如下信息组成: 方法名 参数数目 参数类型和顺序 参数的修饰符 注意: 返回值类型和参数名不是方法签名的一部分。...在调用方法时,形参名后跟冒号和实参: c.Calc(a: 1, b: 2, c: 3); 方法在调用时,可以既有位置参数又有命名参数,如果这么做,所有的位置参数必须先列出。
C Sharp(十) 發佈於 2018-11-10 这一篇,我们再回来说说最后一种类型: 接口(interface)。 什么是接口 接口是指定一组函数成员而不实现他们的引用类型。
C Sharp(七) 發佈於 2018-10-28 这一篇,我们讲讲 C# 中的数组对象及其协变概念。 概述 ---- 数组是由变量名表示的一组同类型的数据元素,每个元素可以通过索引来访问。...C# 数组的特点: C# 不支持动态数组,也就是数组一旦创建,就不可以更改大小 索引从 0 开始 数组类型 C# 支持一维数组和多维数组,多维数组又分为矩形数组和交错数组。...数组是对象 数组实例是从 System.Array 继承来的对象,继承了很多属性和方法: Rank 属性,返回数组的维数 Length 属性,返回数组的长度 注意: 数组是引用类型,数组元素可以是值类型也可以是引用类型...,这一点与 Ocjective-C 不同,Ocjective-C 中的数组元素不能是基本类型。
C Sharp(八) 發佈於 2018-10-31 这一篇,我们讲讲 C# 中特殊的委托(delegate)。 概述 ---- 委托和类一样,都是用户定义类型。...我们通过以下步骤来使用委托: 声明一个委托,委托的声明看上去和方法声明类似,只是没有实现块 使用委托类型声明一个委托变量 创建委托类型的变量,赋值为委托变量,这个委托类型变量指向方法的引用,这个方法和委托定义的签名和返回值类型一样...调用委托 我们可以像调用方法一样调用委托: MyDel del = inst.M1; del += SCl.M3; del += X.Act; //... del(444); 调用带有返回值的委托...调用列表最后一个方法返回的值就是委托返回值 调用列表的其他方法返回值将被忽略 delegate int MyDel(); class MyCls { public int IntVal = 5...C# 中的 Lambda 表达式与 JavaScript 中的很像。如果只有一个参数,可以省略括号,如果只有一个返回值语句,可以省略大括号和 reuturn 关键字。
C Sharp(十三) 發佈於 2018-11-19 这一篇,我们看看 C# 中的枚举器和迭代器的基本概念。...枚举器对象可以依次返回数组元素。 获取一个对象的枚举器可以调用对象的 GetEnumerator 方法。实现了 GetEnumerator 方法的对象称为可枚举(enumerable)对象。...,只读 MoveNext: 把枚举器位置前进到集合下一项的方法,返回布尔值,位置有效返回 true,无效(到达尾部)返回 false。...泛型与非泛型版本的主要区别是: IEnumerable 接口的 GetEnumerator 方法要返回实现 IEnumerator 接口的枚举器实例 泛型版本的 Current 属性返回的不是 object...类型,而是实际类型的对象 迭代器 C# 2.0 之后,提供了更简单的创建枚举器和可枚举类型的方式。
C Sharp(三) 發佈於 2018-10-19 这一篇,我们深入理解一下 C# 中的类。 类的成员 ---- 上篇我们说过了 2 个类成员: 字段和方法。...类似于 C 语言的 #define。...属性 C# 中的属性非常像 Swift 中的计算属性。他们在使用时非常像字段,但是和字段不同的是,他们是函数成员,可以执行代码。...C# 还提供了自动属性实现,不需要提供关联字段,也不需要提供访问器的方法体,get 和 set 后直接跟分号。...分部方法两部分如下: 分部方法的声明 分部方法的实现 分部方法的特征: 声明部分和实现部分的返回值和方法签名必须一致,并且,返回值必须是 void 不能有访问修饰符修饰,也就是分部方法隐式私有 不能有输出参数
C Sharp(十五) 發佈於 2018-11-30 这一篇,我们讲讲 C# 网络编程中比较重要的概念 —— 异步。 什么是异步 当程序启动时,系统就会在内存创建一个新进程。...关于线程: 默认情况下,一个进程只包含一个线程,从程序的开始一直执行到结束 线程可以派生其他线程 如果一个进程包含多个线程,他们将共享进程资源 系统为处理器执行所规划的基本单元是线程而不是进程 在 C#...这个特性是 .Net 框架的一部分,但是没有嵌入 C# 中。 async/await 如果程序调用某个方法,等待其执行所有处理之后才继续执行,我们称这样的方法为同步方法。...Task 的异步方法必须返回 T 类型的值 需要注意: 不要使用 void 作为 async 方法的返回值类型,async 方法可以返回 void,仅限于编写事件处理程序,如果是普通方法没有返回值...参数为 List>。 注意: async 和 await 都没有新开线程,新开线程是 Task.Run() 做的事情。如果自己编写异步方法,注意要自己编写 Task.Run()。
C Sharp(四) 發佈於 2018-10-22 这一篇,我们讲讲 C# 中关于继承的相关知识。...与 Objective-C 的继承声明相同。...C# 中的继承是单继承,与 Objective-C、JavaScript 一样。 通常我们称一个类为派生类时,我们是说他直接派生自某个类而不是 object。...虚方法和覆写方法 虚方法可以使基类的引用访问”提升”至派生类,只需满足如下条件: 派生类的方法和基类的方法的签名和返回值都一致 基类方法使用 virtual 标注 派生类方法使用 override 标注...注意: Objective-C 没有虚方法的概念,Objective-C 中所有的方法都是虚方法: @interface Animal: NSObject - (void)sing; @implementation
C Sharp(五) 發佈於 2018-10-23 这一篇,我们讲讲 C# 中的表达式和运算符。 运算符 ---- 运算符(操作符)是一个符号,表示返回单个结果的操作。...一个操作符: 将操作数作为输入 执行某个操作 基于该操作返回一个值 可以作为操作数的结构有: 字面量 常量 变量 方法调用 元素访问器 其他表达式 字面量 C# 中字面量有: 整数字面量: 1024...需要注意的是: 与 Objective-C 和 JavaScript 中不同,C# 的数字不具有布尔含义。...自增自减运算符 与其它语言一样,也分为前自增和后自增,前自增先增加 1,在返回新值,后自增先返回原值,再增加 1。 逻辑运算符 分为逻辑与,逻辑或和逻辑非。与其它语言一样,逻辑运算符也有短路特性。...语句 ---- 我们只介绍一下 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-20 这一篇,讲讲 LINQ。...LINQ 的出现也就意味着允许我们在 C# 中使用函数式编程的思想。...接口 标准查询运算符使用方法语法 一些运算符返回 IEnumerable 对象,一些则返回标量 很多操作都以谓词作为参数,谓词是一个方法,以对象作为参数,根据是否满足条件返回 true 或 false...{ int total = numbers.Sum(); // 6 int howMany = numbers.Count(); // 3 } } C#...中的序列包括 Array、List、Dictionary 等。
C Sharp(九) 發佈於 2018-11-06 前几篇,我们都在讲类型,这一篇,我们来说说事件成员。...在 Objective-C 中,我们可以在某些类 addObserver 注册一些事件处理程序,当事件发生时,pushNotifacitation。
C Sharp(十八) 發佈於 2018-12-10 这一篇,我们讲讲 C# 中非常重要的概念 —— 反射和特性。...类型的实例 不管创建的类型有多少个实例,只有一个 Type 对象会关联到多有的这些实例 我们可以从 Type 类型的实例获取几乎所有关于类型的信息,Type 类有很多有用的成员,如: Name 属性,返回类型名...NameSapce 属性,返回类型声明的命名空间 Assembly 属性,返回程序集 GetFields 方法,返回字段列表 GetProperties 方法,返回属性列表 GetMethods 方法...,返回方法列表 获取 Type 对象的实例 我们可以使用 GetType 方法和 typeof 运算符获取 Type 对象。
C Sharp(十二) 發佈於 2018-11-14 这一篇,讲讲泛型。...之前写 Objective-C 的时候,感觉他的泛型太弱了,现在写 C#,感觉他的泛型系统太好用了!...C# 提供了 5 种泛型可用在的地方: 类、结构、接口、委托、方法。前四种是类型,最后一种是成员。...中有两个常用的预定义的泛型委托: Func 和 Action: Action 是无返回值的泛型委托,有 16 个重载(即最多 16 个参数) Func 是有返回值的泛型委托,有 17 个重载(即最多...16 个参数和 1 个返回值) public delegate TR Func (T1 p1, T2 p2); class Simple { static string
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 的特征不同。 然而,另外一些类型可以包含不同类型的数据项,这些类型中的数据项个体称为 成员。
创建一个控制台应用程序,从键盘输入一个小写字母,要求输出该小写字母,其对应的大写字母,以及值。 using System; using System.Colle...
1.返回List> < select id = "getMyCredit" parameterType = "java.util.Map" resultType...= "java.util.HashMap" > </ select > 这样设置返回类型为resultClass=”java.util.HashMap”,查询时执行queryForList...List> list = fspDao.queryForList( "XX.xx" ,params); 即可 2.返回 List...如果要想返回为List只需要设置resultClass=”java.lang.String” 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/