zoukankan      html  css  js  c++  java
  • C#基本语法学习笔记

    名词解释:
      1、CLR---------Common Language Runtime ------------公共语言运行环境,管理着代码的执行。
      2、JIT---------Just In Time -----------------------即时编译器。 作用:执行时将中间语言编译成本地代码
      3、MSIL--------MicroSoft Intermediate Language-----微软中间语言。编译时编译器将代码转化为中间语言和元数据。
      4、名字空间----相当与java中的包(package)

    1)起源:
       微软internet平台战略,2000-6-22发布.net框架

    2)特点:
       1、完全支持xml,与web紧密连接
       2、对象自动回收
       3、跨语言 (来自于他的虚拟对象系统)

    3).NET的结构
        1、虚拟对象系统 (VOS) :跨语言集成,程序员可以选择自己喜欢的开发语言,只要他支持.net
        2、元数据---------------:对VOS中类型描叙代码的一种称呼,编译时自动生成,与源代码共同包好在二进制代码文件中
        3、公共语言规范(CLS)
        4、虚拟执行系统(VES):运行的环境             
    4)HelloWorld
       using System;
       class HelloWorld {
         static void Main () {
          Consol.Write("Hello World!");
          }
       }

      说明:源代码后缀为.cs
    5)数据类型(值类型 简单类型,结构类型,枚举类型):
       1、整型----------sbyte(带s都是有符号的),byte(0到255),short,ushort,int,uint,long,ulong
       2、布尔型--------bool (true,false)
       3、实数----------float,double   C#中专门添加decimal类型,方便在金融和货贝方面的运算
       4、字符----------char  其中有转义字符:\',\''等。 
       5、结构类型------struct Student {
                          public string Name;
                          public float  score;

                         }
       6、枚举类型------enum WeekDay {Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday};
    6)数据类型(引用类型):----所谓引用类型是:该类型变量不直接存储所包含的值,而是指向该值,也就是存储该引用值的地址。
       1、类:--------------object类是所有类的基类。
       2、String类----------sting s="hello";
       3、代表(delegate)----a)说明:C#取消了指针的概念,当然也可以用指针,但必须申明为unsafe不安全的。
                            b)定义:delegate int Mydelegate();   ----代表相当于函数指针原型。
                            c)使用:Mydelegate d=new Mydelegate(类.方法)
                                    d(); //然后就相当于直接掉函数。
       4、数组--------------a)定义: int[]   arr=new int[5];   // int[] arr=new int[5] {1,2,3,4,5} //
                                    int[]   iArr; ---一唯
                                    int[,]  iArr;----二唯
                                    int[,,] iArr;----三唯

    7)装箱和拆箱(boxing--unboxing):用于值类型,引用类型,object对象类型之间的转换。
       1、装箱-------------将一个值类型隐式的转化为一个object类型
                           例子:int i=10;
                                 object obj=i;         //隐式
                                 object obj=object(i)  //显式

       2、拆箱-------------将一个对象类型转化为一个值类型
                           例子:int i=10;
                                 object obj=i;
                                 int j=(int)obj;

    8)表达式
       1、运算符-----  a:一元运算符 ++,-- // b、二元运算符 +,-,*,/,%(取余)  // c、三元运算符 y=(x>10?1:0)
       2、关系符-----  == (等于)  != (不等于)
       3、as操作符---  将一个值转化为指定的引用类型,如果不能转换则返回null值。
       4、逻辑符号---  &&(并且)  || (或者) !(非)
    9)流程控制
       1、if判断结构--------if (条件) {} else {};
       2、swith开关结构-----swith (表达式) {
                             case 值1:do something;break;
                             case 值2:do something;break;
                             default:  .....
                             }

                        说明:其中可以不使用break;而使用goto case 值1转向//或者goto default;
       3、For循环结构-------for (int i=0;i<=10;i++) {...}
          while循环  -------while (条件) {...};
          do ...while循环---do {...}  while (条件)

    10)异常处理
        1、结构1-------- try {...} catch (Exception e) {...}        //e.message
        2、结构2-------- try {...} finally {...}
        3、结构3---------try {...} catch (Exception e) {...} finally {..}
        4、抛出一个异常:
                a.--- throw new Exception("错误信息");
                b.----e=new Exception ("错误信息");
                      throw;           
    11)类:
        1、类的修饰符
           e.abstract-----抽象类,不允许建立实例
           f.sealed-------密封类,不允许被继承。 //seal /si:l/密封。。海豹
        2、类的成员
    使用访问修饰符 publicprotectedinternalprivate 可以为成员指定以下声明的可访问性之一。

    声明的可访问性

    含义

    public

    访问不受限制。

    protected

    访问仅限于包含类或从包含类派生的类型。

    internal

    访问仅限于当前程序集。

    protected internal

    访问仅限于从包含类派生的当前程序集或类型。

    private

    访问仅限于包含类型。

    一个成员或类型只能有一个访问修饰符,但使用 protected internal 组合时除外。

    命名空间上不允许使用访问修饰符。命名空间没有访问限制。


        3、this保留字
            仅限于在构造函数,类的成员和类的实例中使用。
        4、成员常量
            public const int i=10;
        5、构造函数:
           a、构造函数通常与类名相同。
           b、构造函数不声明返回类型。
           c、构造函数总是public的,如果为private则表示该类不能被实例话。
              例子: class A
                      {
                      public A(int i) {...};   //构造函数
                      }
        6、析构函数
           a、析构函数的名字与类名相同,只是前面有一个波浪~符号。

    11)方法:
        1、修饰符:new、public、protected、internal、private、static、virtual、sealed、override、abstract、extern
                   说明:对于abstract、extern方法的执行体只有一个分号;也就是只有声明没有实现。
        2、参数
           a、值参数 -------不含任何修饰符号  :传递的是值的拷贝,任何修改不影响原来的参数
           b、引用参数------以 ref为修饰符    :传递的是值的地址,
           c、输出参数------以out为修饰符     :输出参数与ref参数的区别是:调用函数前不需要对该参数初始话
           d、数组参数------以params为修饰    :
               说明1:数组参数必须位于参数表的最后
               说明2:参数只允许是一唯数组
               说明3:数组参数不再有ref,out修饰符     
        3、方法的重载-------类中有同名的方法,但是参数必须不同。   
        4、操作符的重载-----

    12)域和属性
        1、域:就是成员变量。 修饰:public、protected、internal、private 。。。static静态域.
           只读域:public static readonly double pi=3.1415926
        2、属性:声明---attributes  修饰符  类型 名称
           属性的读:get  写  set

    13)事件和索引指示器

  • 相关阅读:
    hdu 5056 Boring count (窗体滑动)
    【JEECG技术博文】JEECG表单配置-树形表单
    EA类图与代码同步
    简单算法汇总
    jQuery.outerWidth() 函数具体解释
    省市县三级联动的SQL
    从LayoutInflater分析XML布局解析成View的树形结构的过程
    holodesk表存储-列重复值太多,导致存储占用空间翻很多倍
    星环TDH大数据平台,数据误删除之后,恢复办法
    IDEA类和方法注释模板设置(非常详细)
  • 原文地址:https://www.cnblogs.com/engine1984/p/1074988.html
Copyright © 2011-2022 走看看