1. 变量

1.1 变量需要遵循的规则:

  • 变量必须初始化
  • 初始化器不能为空
  • 初始化器必须放在表达式中
  • 不能把初始化器设置为一个对象,除非在初始化器中创建了一个新对象

1.2 变量的作用域

  • 只要类在某个作用域内,其字段(也称为成员变量)也在该作用域内
  • 局部变量存在于表示声明该变量的块语句或方法结束的右花括号之前的作用域内
  • 在for、while或类似语句中声明的局部变量存在于该循环体内

1.3 常量:关键字const

  • 必须在声明时初始化
  • 不能用从变量中提取的值来初始化常量(如需这样做,应使用只读字段)
  • 常量总是隐式静态的,不允许使用static

2.预定义数据类型

  • 值类型与引用类型的区别

  • C#关键字与.NET类型

3.枚举

枚举是用户定义的整数类型。其在后台会实例化为派生自基类的System.Enum的结构,即在语法上把枚举当成结构不会造成性能损失。实际上,一旦代码编译好,枚举就成为基本类型。

public enum TimeOfDay
{
Morning = ,
Afternoon = ,
Evening =
}
  • 检索枚举的字符串表示

TimeOfDay time = TimeOfDay.Afternoon;

WriteLine(time.ToString());  //返回字符串 Afternoon

  • 从字符串中获取枚举值

TimeOfDay time2 = (TimeOfDay) Enum.Parse(typeof(TimeOfDay), "afternoon", true);

WriteLine((int) time2);      //返回 1

注:Enum.Parse()方法3个参数含义:要使用的枚举类;要转换的字符串;是否忽略大小写。

4. 程序流控制

4.1 条件语句:if、switch

switch语句中case值必须是常量表达式(可用const或枚举),不能使用变量

4.2 循环语句: for、while、do...while、foreach

foreach循环可以迭代集合中的每一项,但不能改变集合中各项的值。如需迭代集合中的各项,并改变它们的值,应使用for。

4.3 跳转语句: goto、break、continue、return

5. 名称空间:一种逻辑组合。它与程序集无关,同一个程序集中可以有不同的名称空间,也可以在不同的程序集中定义同一个名称空间中的类型。

  • using用途:(1)在文件顶部采用using + 名称空间,即可在文件中引用名称空间中的类型,采用“.”修饰符;

(2) 采用using给类和名称空间指定别名,using 别名=名称空间,在文件中使用“::”修饰符引用名称空间中类型。

第2章 核心C#的更多相关文章

  1. c#高级编程第七版 学习笔记 第二章 核心c#

    第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...

  2. Ext JS 6学习文档–第2章–核心概念

    核心概念 在下一章我们会构建一个示例项目,而在这之前,你需要学习一些在 Ext JS 中的核心概念,这有助于你更容易理解示例项目.这一章我们将学习以下知识点: 类系统,创建和扩展类 事件 Ext JS ...

  3. 《Linux Device Drivers》第十一章 核心数据类型——note

    基本介绍 因为Linux多平台特性,不管是哪一个重要驱动力应该是便携 与内核代码相关的核心问题应该是访问的同时是数据项的已知长度.能力和利用不同的处理器 内核使用的数据类型主要分为三类 类似int这种 ...

  4. C#高级编程第2章-核心C#

    内容提要: 声明变量:变量的初始化和作用域:C#的预定义数据类型:在C#程序中使用条件语句.循环和跳转语句指定执行流:枚举:名称空间: Main()方法:基本命令行C#编译器选项:使用System.C ...

  5. C#高级编程9-第2章 核心C#

    C#基础 使用C#命名编译器csc.exe,编译C#程序 变量 变量一般初始化后才能使用 类型判断弱类型var,根据初始值判断类型, 变量作用域,可以访问该代码的区域 类中定义的成员变量和属性,作用在 ...

  6. C#高级编程第9版 第二章 核心C# 读后笔记

    System命名空间包含了最常用的.NET类型.对应前面第一章的.NET基类.可以这样理解:.NET类提供了大部分的功能,而C#语言本身是提供了规则. pseudo-code,哈哈,秀逗code.伪代 ...

  7. 【读书笔记】C#高级编程 第二章 核心C#

    (一)第一个C#程序 创建一个控制台应用程序,然后输入代码,输入完毕后点击F5 Console.WriteLine();这条语句的意思:把括号内的内容输出到界面上: Console.ReadKey() ...

  8. Java并发编程核心知识体系精讲

    第1章 开宗明义[不看错过一个亿]本章一连串设问:为什么学并发编程?学并发编程痛点?谁适合学习本课?本课程包含内容和亮点?首先4大个理由告诉你为什么要学,其实源于JD岗位要求就不得不服了.其次5个痛点 ...

  9. Struts2 源码分析——配置管理之ContainerProvider接口

    本章简言 上一章笔者讲到关于Dispatcher类的执行action功能,知道了关于执行action需要用到的信息.而本章将会讲到的内容也跟Dispatcher类有关系.那就是配置管理中的Contai ...

随机推荐

  1. 【mysql 的 union 和unionall】

    Mysql的联合查询命令UNION和UNION ALL,总结了使用语法和注意事项,以及学习例子和项目例子,需要的朋友可以参考下 一.UNION和UNION ALL的作用和语法 UNION 用于合... ...

  2. elasticsearch 聚合查询

    1. 按照 tags 字段 进行分组 GET /ecommerce/product/_search{ "size": 0,  "aggs": {    &quo ...

  3. 清北刷题冲刺 10-30 p.m

    少女 #include<iostream> #include<cstdio> #include<queue> #include<cstdlib> #de ...

  4. Effective Java第一节

    第1条:考虑用静态工厂方法代替构造器 首先清楚什么是静态工厂方法? 静态工厂方法说白了就是在创建对象的时候,不是自己使用new关键字创建的,而是使用静态方法来对外提供自身的实例的方法. 比如: Fra ...

  5. Migration-添加表(加外键)

    public partial class _222 : DbMigration { public override void Up() { //DropForeignKey("dbo.Ass ...

  6. BZOJ 1053 [HAOI2007]反素数ant 神奇的约数

    本蒟蒻终于开始接触数学了...之前写的都忘了...忽然想起来某神犇在几个月前就切了FWT了... 给出三个结论: 1.1-N中的反素数是1-N中约数最多但是最小的数 2.1-N中的所有数的质因子种类不 ...

  7. BZOJ 4919: [Lydsy1706月赛]大根堆 启发式合并

    我不会告诉你这是线段树合并的好题的... 好吧我们可以搞一个multiset在dfs时求出LIS(自带二分+排序)进行启发式合并,轻松加愉悦... #include<cstdio> #in ...

  8. P2066 机器分配 (DP+DP输出)

    题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15,N≤10.分 ...

  9. python大战机器学习——集成学习

    集成学习是通过构建并结合多个学习器来完成学习任务.其工作流程为: 1)先产生一组“个体学习器”.在分类问题中,个体学习器也称为基类分类器 2)再使用某种策略将它们结合起来. 通常使用一种或者多种已有的 ...

  10. js 监听浏览器刷新还是关闭事件

    转载大神 http://www.cnblogs.com/gavin0517/p/5827405.html