首页 > 代码库 > C#学习笔记 ----核心C#

C#学习笔记 ----核心C#

在C#中做的所有工作都依赖于.NET基类

 

变量

C#有俩个方法可确保变量在使用前进行了初始化:

.变量是类或结构中的字段,如果没有显式初始化,创建这些变量时,其默认值是0

.方法的局部变量必须在代码中显式初始化,之后才能在语句中使用它们的值

 

类型推断(type inference)使用var关键字

 

常量 关键字const

常量具有以下特点:

.常量必须在声明时初始化

.常量的值必须能在编译时用于计算

.常量总是静态的,不必也不允许包含修饰符static

 

预定义数据类型

值类型存储在堆栈中,引用类型存储在托管堆上。

引用类型示例:

Vector x,yx = new Vector();x.Value = 30;//Value is a field defined in Vector classy = x;Console.WriteLine(y.Value);y.Value = 50;Console.WriteLine(x.Value);// 输出结果为 30,50

 

C#有15个预定义类型,其中13个是值类型,俩个是引用类型(string 和 object)

在C#中,object类型就是最终父类型

 

转义字符‘/‘

‘@‘ 取消转义字符

 

流控制

switch语句:switch...case 语句适合于从一组互斥的分支中选择一个执行分支

case 的值必须是常量表达式;不允许使用变量

 

C#的for循环提供的迭代循环机制是在执行下一次迭代前,测试是否满足某个条件,所谓的预测式循环

while 也是预测式循环,while循环只有一个表达式

do...while是while循环的后测试版本。该循环的测试条件要在执行完循环之后执行。

foreach循环可以迭代集合中的每一项

 

跳转语句:

.goto

.break 退出循环

.continue 退出循环的当前迭代

.return 

 

枚举 是用户定义的整数类型

 

名称空间

using 关键字可以给类和名称空间指定别名

注意名称空间别名修饰符“::”

 

C#编译有关

C#命令行编译器 csc.exe(需要设置环境变量)

/target(简写 /t) 指定要创建的文件类型

 

/t:exe 控制台应用程序(默认)

/t:library 带有清单的类库

/t:module 没有清单的组件

/t:winexe Windows应用程序(没有控制台窗口)

 

/out 指定编译器生成的输出文件名

/reference 或/r 在未引用的程序集中引用类型

/doc XML文档

 

注释

XML格式标记:

<c>把行中的文本标记

<code>把多行标记为代码

<example>标记为一个代码示例

<exception>说明一个异常类(编译器要验证其语法)

<include>包含其他文档说明文件的注释(编译器要验证其语法)

<list>把列表插入到文档中

<param>标记方法的参数(编译器要验证其语法)

<paramref>表示一个单词是方法的参数(编译器要验证其语法)

<permission>说明对成员的访问(编译器要验证其语法)

<remarks>给成员添加描述

<returns>说明方法的返回值

<see>提供对另一个参数的交叉引用(编译器要验证其语法)

<seealso>提供描述中的"参加"部分(编译器要验证其语法)

<summary>提供类型或成员的简短小结

<value>描述属性

 

预处理指令

#define DEBUG 告诉编译器存在给定名称的符号

#undef DEBUG 删除符号的定义

#if #elif #else #endif 这些指令告诉编译器是否要编译某个代码块

#warning 和#error 编译器产生警告和错误

#region 和#endregion 布局

#line指令可以用于改变编译器在警告和错误信息中显示的文件名和行号信息

#pragma指令可以抑制或还原指定的编译警告