zoukankan      html  css  js  c++  java
  • C#基础—C#高级编程(第10版)学习笔记6

    C#基础

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

    2、var,编译器类型推断

    3、不能用从变量中提取出来的值来初始化常量,如果需要这么做,应使用只读字段;

    4、常量总是隐式静态的,const关键字:

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

        2)便于程序(业务)逻辑变更,比如税率SalesTax=6%;

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

    5、C#数据存储:值类型存储在堆栈(Stack)中,而引用类型存储在托管堆(Managed Heap)中。CLR会做内存管理,调用垃圾回收期实现内存回收。
    6、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字符

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

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

    9、字符串:通过@字符消除转义字符“”,$字符串插值功能

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

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

           2)比较好的习惯:都要加花括号,无论几行逻辑语句。(如果没有else。。。)

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

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

    const string england="uk";

    const string britain="uk";

    switch(country)

    {

    case england:

    case britain://编译会报错

    language="English";

    break;

    }

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

    但这样是可以的:

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

    13、return

    14、枚举:是用户定义的整数类型,枚举实例是一组易于记忆的整数值。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);

     15、名称空间 namespace,可以嵌套,using,别名 using alias=NamespaceName;

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

    17、XML文档 根据特定注释自动创建XML格式的文档说明

    18、C#预处理器指令

  • 相关阅读:
    开放就像死亡访问之后就能回头——Leo鉴书84
    将博客搬至CSDN
    将博客搬至CSDN
    滚动条
    Perl Pack写的一个数据报表程序
    利用hash 数组打印标题
    Linux显示只显示目录文件
    Linux显示按文件名降序文件
    Linux显示以时间生升序显示文件
    Linux显示按文件大小降序排列
  • 原文地址:https://www.cnblogs.com/yxli2008/p/10886043.html
Copyright © 2011-2022 走看看