C#基础—C#高级编程(第10版)学习笔记6

C#基础程序员

一、栈存地址和值类型,堆存对象数据。性能

二、var,编译器类型推断spa

三、不能用从变量中提取出来的值来初始化常量,若是须要这么作,应使用只读字段;.net

四、常量老是隐式静态的,const关键字:code

     1)使用易读取名称,便于阅读;对象

    2)便于程序(业务)逻辑变动,好比税率SalesTax=6%;内存

    3)避免程序犯错,如别处赋值则编译器报错。ci

五、C#数据存储:值类型存储在堆栈(Stack)中,而引用类型存储在托管堆(Managed Heap)中。CLR会作内存管理,调用垃圾回收期实现内存回收。
六、C#有15个预约义类型,其中两个引用类型(string 和 object),13个是值类型。文档

       1)C#中的int 声明的其实是.Net 结构System.Int32的一个实例,看起来很深奥,但其意义深远:这表示在语法上,能够把全部的基本数据类型当作支持某些方法的类。例如:int i=10;string s=i.ToString();字符串

      2)C#的decimal类型不是基本类型,计算时使用该类型会有性能损失。28位(128位的高精度十进制数表示法)decimal d=12.30M;或者decimal d=12.30m.

     3)C# bool=true 或false:若是试图用0表示false,非0表示true,就会报错。

    4)Byte(无符号)、sbyte(有符号),标准8位类型,

    5)字符类型:char 表示一个16位的Unicode字符

七、Object类: 是C#和.net的根类型:例如堆栈中的值类型对象经过object装箱到堆中.实现了一些基本方法,能够重写,如Equals()、GetHashCode(),GetType()和ToString().

八、C# string其实是.Net 类System.String,是个引用类型。但又会体现值类型的字符串通常和直观的字符串规则特色,是经过运算符重载实现的。如:string s1="a string"; string s2=s1;s1="Another string";结果:s1="Another string"  s2="a string"

九、字符串:经过@字符消除转义字符“\”,$字符串插值功能

十、使用if语句的一个重要指导原则就是:

       1)只有语句和if语句写在同一行时,才容许程序员不适用花括号。遵循之,程序员在添加第二个语句时不太可能不添加花括号。

       2)比较好的习惯:都要加花括号,不管几行逻辑语句。(若是没有else。。。)

      3)值比较== 常值置于前 if(0==j)

十一、Switch语句:能够包含一条default语句。任何两条case都不能相同,不然编译器报错:break可用

const string england="uk";

const string britain="uk";

switch(country)

{

case england:

case britain://编译会报错

language="English";

break;

}

十二、循环for, while ,do...while,foreach(不能改变集合中各项的值,不然不能编译,如改变应使用for循环),break、Continue 可用

但这样是能够的:

 foreach (var item in resultList)
                    {
                        Apple a = item as Apple;
                        if (a != null)
                        { a.Color = "Red"; }
                    }

1三、return

1四、枚举:是用户定义的整数类型,枚举实例是一组易于记忆的整数值。C#中,枚举的真正强大之处是它们在后台实例化为派生自基类System.Enum的结构。一旦代码编译好,枚举就成为基本类型,与int相似。

1)能够检索枚举的字符串表示:

public enum TimeOfDay

{

Morning = 0,

Afternoon =1,

Evening =2

}

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

 1五、名称空间 namespace,能够嵌套,using,别名 using alias=NamespaceName;

1六、使用注释:源文件的内部注释:单行// ,多行/*...*/

1七、XML文档 根据特定注释自动建立XML格式的文档说明

1八、C#预处理器指令

相关文章
相关标签/搜索