首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C Sharp(二)

    C Sharp(二) 發佈於 2018-10-16 这一篇,我们看看 C# 中的类有哪些特殊的概念。...方法声明包括以下组成部分: 返回值类型,如果没有返回值,则指定为 void 方法名 参数列表,至少是一个空圆括号 方法体,包裹在一对大括号之间 class MyClass { void MyFunc...输出参数有如下要求: 必须在声明和调用时同时使用 out 关键字 实参必须是变量 在方法内部,输出参数在能被读取之前必须被赋值,这意味着,参数初始值是无用的,没必要在调用输出参数方法时给输出参数初始化 在方法返回之前...方法签名由如下信息组成: 方法名 参数数目 参数类型和顺序 参数的修饰符 注意: 返回值类型和参数名不是方法签名的一部分。...在调用方法时,形参名后跟冒号和实参: c.Calc(a: 1, b: 2, c: 3); 方法在调用时,可以既有位置参数又有命名参数,如果这么做,所有的位置参数必须先列出。

    91220

    C Sharp(七)

    C Sharp(七) 發佈於 2018-10-28 这一篇,我们讲讲 C# 中的数组对象及其协变概念。 概述 ---- 数组是由变量名表示的一组同类型的数据元素,每个元素可以通过索引来访问。...C# 数组的特点: C# 不支持动态数组,也就是数组一旦创建,就不可以更改大小 索引从 0 开始 数组类型 C# 支持一维数组和多维数组,多维数组又分为矩形数组和交错数组。...数组是对象 数组实例是从 System.Array 继承来的对象,继承了很多属性和方法: Rank 属性,返回数组的维数 Length 属性,返回数组的长度 注意: 数组是引用类型,数组元素可以是值类型也可以是引用类型...,这一点与 Ocjective-C 不同,Ocjective-C 中的数组元素不能是基本类型。

    1K10

    C Sharp(八)

    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 关键字。

    43620

    C Sharp(十三)

    C Sharp(十三) 發佈於 2018-11-19 这一篇,我们看看 C# 中的枚举器和迭代器的基本概念。...枚举器对象可以依次返回数组元素。 获取一个对象的枚举器可以调用对象的 GetEnumerator 方法。实现了 GetEnumerator 方法的对象称为可枚举(enumerable)对象。...,只读 MoveNext: 把枚举器位置前进到集合下一项的方法,返回布尔值,位置有效返回 true,无效(到达尾部)返回 false。...泛型与非泛型版本的主要区别是: IEnumerable 接口的 GetEnumerator 方法要返回实现 IEnumerator 接口的枚举器实例 泛型版本的 Current 属性返回的不是 object...类型,而是实际类型的对象 迭代器 C# 2.0 之后,提供了更简单的创建枚举器和可枚举类型的方式。

    81120

    C Sharp(三)

    C Sharp(三) 發佈於 2018-10-19 这一篇,我们深入理解一下 C# 中的类。 类的成员 ---- 上篇我们说过了 2 个类成员: 字段和方法。...类似于 C 语言的 #define。...属性 C# 中的属性非常像 Swift 中的计算属性。他们在使用时非常像字段,但是和字段不同的是,他们是函数成员,可以执行代码。...C# 还提供了自动属性实现,不需要提供关联字段,也不需要提供访问器的方法体,get 和 set 后直接跟分号。...分部方法两部分如下: 分部方法的声明 分部方法的实现 分部方法的特征: 声明部分和实现部分的返回值和方法签名必须一致,并且,返回值必须是 void 不能有访问修饰符修饰,也就是分部方法隐式私有 不能有输出参数

    88620

    C Sharp(十五)

    C Sharp(十五) 發佈於 2018-11-30 这一篇,我们讲讲 C# 网络编程中比较重要的概念 —— 异步。 什么是异步 当程序启动时,系统就会在内存创建一个新进程。...关于线程: 默认情况下,一个进程只包含一个线程,从程序的开始一直执行到结束 线程可以派生其他线程 如果一个进程包含多个线程,他们将共享进程资源 系统为处理器执行所规划的基本单元是线程而不是进程 在 C#...这个特性是 .Net 框架的一部分,但是没有嵌入 C# 中。 async/await 如果程序调用某个方法,等待其执行所有处理之后才继续执行,我们称这样的方法为同步方法。...Task 的异步方法必须返回 T 类型的值 需要注意: 不要使用 void 作为 async 方法的返回值类型,async 方法可以返回 void,仅限于编写事件处理程序,如果是普通方法没有返回值...参数为 List>。 注意: async 和 await 都没有新开线程,新开线程是 Task.Run() 做的事情。如果自己编写异步方法,注意要自己编写 Task.Run()。

    93530

    C Sharp(五)

    C Sharp(五) 發佈於 2018-10-23 这一篇,我们讲讲 C# 中的表达式和运算符。 运算符 ---- 运算符(操作符)是一个符号,表示返回单个结果的操作。...一个操作符: 将操作数作为输入 执行某个操作 基于该操作返回一个值 可以作为操作数的结构有: 字面量 常量 变量 方法调用 元素访问器 其他表达式 字面量 C# 中字面量有: 整数字面量: 1024...需要注意的是: 与 Objective-C 和 JavaScript 中不同,C# 的数字不具有布尔含义。...自增自减运算符 与其它语言一样,也分为前自增和后自增,前自增先增加 1,在返回新值,后自增先返回原值,再增加 1。 逻辑运算符 分为逻辑与,逻辑或和逻辑非。与其它语言一样,逻辑运算符也有短路特性。...语句 ---- 我们只介绍一下 C# 中比较特殊的语句。

    1.2K20

    C Sharp(十七)

    C Sharp(十七) 發佈於 2018-12-04 这一篇,介绍一些 C# 中的比较常见的预处理指令。 C 和 C++ 都有实际的预处理阶段,而在 C# 中是没有的,预处理指令是由编译器来处理。...在 Objective-C 中预处理指令也特别常用。...基本规则 下面是预处理指令的主要规则: 预处理指令必须与 C# 代码处于不同行 包含预处理指令的行必须以 # 开头 # 字符前可以有空格 # 字符与预处理指令之间可以有空格 允许行尾有单行注释,不可以有多行注释...编译符号有如下特性: 可以是除了 true 和 false 之外的任何标识符,包括 C# 关键字,以及在 C# 中声明的标识符 他没有值,与 C 不同,他不表示字符串 #define 指令声明一个编译符号...#undef PremiumVersion 注意: #define 和 #undef 指令只能用于任何 C# 代码之前,在 C# 代码开始之后,这两个指令就都不可以使用了。

    88910

    C Sharp(一)

    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 的特征不同。 然而,另外一些类型可以包含不同类型的数据项,这些类型中的数据项个体称为 成员。

    2K30
    领券