zoukankan      html  css  js  c++  java
  • 白话C#

     序言:

    本文内容是在课后为学生总结的知识点,希望能对大家在学习C#时有所帮助。

     

     

    .DotNET(.net) 是2000年 比尔.盖茨提出来的一个思想

     

    .DotNET FrameWork(框架) 是微软为了实现.net思想而造的一个框架

     

    .DotNet框架包括两个部分: (1)公共语言运行时(CLR) (2)类库集(FCL)

     

    .在类库集(FCL)中,包括了所有编写.NET程序时所要应用到的函数(方法)

    .公共语言运行时,是来运行编译好的.NET程序的

    ..NET程序必须是两次编译才可以运行

     

    .第一次编译后的.NET程序,我们叫做中间语言(MSIL+元数据)

     

    .第二次编译后,才能成为机器代码,让计算机识别并执行。

     

    .公共语言运行时,包括两个部分,分别为CLSCTS

     

    10.CLS公共语言规范  CTS公共类型规范

     

    11.C#(Csharp)是一门开发语言,是由C,C++派生而来的C++++

     

    12.我们现在学习的C#版本为C#2.0

     

    13.C#中,函数改名叫做方法

     

    14.C#中的注释有三种,分别是单行文本注释两个"//",多行文本注释"/*内容*/",及XML文档注释(XML文档注释,需要在方法或者类的前边打三个///会自动生成)


    15.
    命名空间,是用来定义类及方法的作用的,我们需要用到什么样的方法,就得引用什么样的命名空间。同样我们也可以自定义命名空间,用来区分我们所编写的类库。

     

    16.方法可以有四种模式分别为返回值的方法,无返回值的方法,带参数的方法,及不带参数的方法。
    注:返回值的方法必须得在写方法签名时,书写返回值类型,并在方法执行体内部书写return及要返回的值。无返回值的方法必须得为方法签名中书写void关建字,无返回值的方法执行的是一个程序的过程。

     

    17.控制台的输入语句:
    Console.Read()
    读一个字符并返回该字符的ASCII码值。
    Console.ReadLine()
    读一行字符串,并返回该字符串。

     

    18.控制台的输出语句:
    Console.Write()
     输出字符串,但不换行。
    Console.WriteLine()
    输出一行字符串,带换行的。

     

    19.类型的转换有两种方式:
    (1)Convert.To
    类型(其它类型) 将其它类型转到到指定的类型,如: Convert.ToChar("a");将字符串类型a转换为char类型
    (2)
    类型.Parse(字符串类型) 将字符串类型转换为指定类型,如:double.Parse("12.4");将字符串类型12.4转换为double类型

     

    20.常用的转义符:
    \’
    单引号
    \”
    双引号
    \\
    反斜杠
    \0

    \a
    警告(产生峰鸣)
    \f
    换页
    \n
    换行
    \r
    回车
    \t
    水平制表符
    \v
    垂直制表符

     

    21.C#中的预定义类型,基本与C语言相同如int,long,double等等,只是多了两个特别的类型,分别为:
    object
    类型 它是所有其它类型的最根本的基础类型。
    string
    类型 字符串类型,一个字符串是一个Unicode字符序列

    1.if语句的用法及格式:
    当我们需要简单的分支或判断的时候,需要用到if语句,格式如下:
    if(
    条件){条件满足时所运行的代码}else{条件不满足时运行的代码}
    例如:
                int i=100;
                if (i > 101)  //if
    如果的意思
                {
                    Console.WriteLine("
    我是神仙!");
                }
                else //else
    就是指否则的意思
                {
                    Console.WriteLine("
    你是妖怪!");
                }

     

    2.switch语句的用法及格式:
    当我们在需要复杂的分支条件时,需要用到switch语句,但是条件只能为一个变量,当case(方案)与变量吻合时,就执行其case中的代码。
    格式如下:
    switch(
    变量){ case "常量": 代码 break;
    default:
    代码 break; }
    例如:
                string bl = Console.ReadLine();

                switch (bl)
                {
                    case "sx":
                        Console.WriteLine("
    我是神仙!");
                        break;
                    case "yg":
                        Console.WriteLine("
    你是妖怪!");
                        break;
                    case "xz":
                        Console.WriteLine("
    他是修真!");
                        break;
                    case "xm":
                        Console.WriteLine("
    谁是修魔!");
                        break;
                    default:
                        Console.WriteLine("
    这是个普通人!");
                        break;
                }

     

    3.while循环一般应用在bool类型的条件上,如果为true时,就会一直循环。好像电风扇一样,如果不断电的话会一直转动,断电后就会停止,一般在

    应用while循环时,我们会定义一个开关,来控制while循环。

    bool zt = true;//创建一个bool类型的值,用来判断while的状态,也就是是否跳出while
                while (zt)
                {
                    string bl = Console.ReadLine();


                    switch (bl)
                    {
                        case "sx":
                            Console.WriteLine("
    我是神仙!");
                            break;
                        case "yg":
                            Console.WriteLine("
    你是妖怪!");
                            break;
                        case "xz":
                            Console.WriteLine("
    他是修真!");
                            break;
                        case "xm":
                            Console.WriteLine("
    谁是修魔!");
                            break;
                        default:
                            Console.WriteLine("
    这是个普通人!");
                            zt = false;
                            break;

                    }
                }


    4.for
    循环:for循环一般是用来遍历有一定限量的循环
    格式:
    for(int
    变量=0;变量<条件; 变量++ )
    {
     //
    循环体
    }
    例如:
    for (int i = 0; i < 2; i++)
       {
           for (int j = 0;j< jstr[i].Length; j++)
           {
                Console.WriteLine(jstr[i][j]);
           }
       }

     

    5.foreach是用于集合里一个一个的遍历(叠迨)数据。就好比从鸡蛋框里取蛋一样,一个一个的来。。直到取完为止。
    foreach(
    类型 变量名 in 集合或数组)
    {
     //
    循环体
    }


    6.
    变量:在方法中定义变量时,如果要输出该变量的话,一定为变量赋值。


    7.
    字段:在C#我们将定义在方法外边,类(Class)里边的变量称为字段,字段可以在本类的方法中使用。 常量字段只需要在类型前边加一个关建字 

    const

     

    8.object类型是所有类型的基本类型,它可以存放任何类型。

     

    9.C#中分为两种基本类型,分别为:值类型,与引用类型
    值类型,值是存放在堆栈当中的;引用类型,值是存放在托管堆当中的,在堆栈当中存放的是其指向托管堆值的地址。

     

    10.值类型包括:intchardoublebool等等简单类型(预定义类型)

     

    11.引用类型包括:类、数组、接口、字符串类型(string)等等。

     

    12.装箱操作:是将值类型转换为object类型的操作叫装箱,例:
    int inti=1000;
    object obji = inti; //
    装箱的操作

     

    13.拆箱操作:是将object类型转换为其它类型的操作叫拆箱,例:
    int intj = (int)obji;
     //在拆箱的时候,必须将其拆为int 类型,因为苹果装到箱子里后,是决不可能拆出葡萄的!

     

    14.枚举类型,一般应用于有限的变量,及有相同意义的变量的定义,格式:
     enum Day
            {
                Mon=-1,
                Tue,
                Wed,
                Thu,
                Fri=2,
                Sat,
                Sun
            }
    注意:枚举类型是不能定义在方法里边的,只能定义在类里边或类的外边。

     

     

    1.一维数组的定义:
    格式:类型[] 变量名 = new 类型[元素个数]{元素的值}
    比如:string[] str=new string[5]

    注意:当在new 类型[]的时候,如果在后边初始化其值时,可以不定义元素的个数。但是如果不为其初始化值的话,那么一定要书写元素的个数如:new string[3],如果指定了元素的个数,那么在初始化值时,值的个数必须与我们指定的元素个数相同。

     

    2.二维数组的定义:
    格式:类型[,] 变量名=new 类型[行数,列数]{{元素的值},{元素的值}}
    比如:int[,] inti=new int[3,4]{{1,2,3,4},{5,6,7,8},{9,8,7,6}}

     

    3.交错数组的定义(数组中的数组)
    格式:
    类型[][] 变量名=new 类型[2][];
    变量名[]=new 类型[2];
    变量名[]=new 类型[1];
    比如:
    string[][] jstr = new string[3][];
    jstr[0] = new string[2] { "A", "B" };
    jstr[1] = new string[3];
    jstr[2] = new string[4];
    jstr[1][0] = "C";  //
    为数组单个元素赋值

     

    4.要想使用集合,必须引入命名空间using System.Collections;

     

    5.ArrayList被称之为动态数组,它的大小时不需要定义的。创建一个ArrayList对象(变量)然后用对象的Add()方法来添加值。值的类型可以是任意类型。
     ArrayList arr = new ArrayList();
       arr.Add("
    外星人?");//添加了字符串
       arr.Add(123);//
    添加了int类型
       arr.Add(456.5);//
    添加了double类型

     

    6.Hashtable,是一个成对存在的二列多行的二维表。创建时也是使用new 关建字,同样使用Add方法来添加数据,数据要求成对的健与值。数据类型可以为任意类型。健不能重复。例:
    Hashtable ht = new Hashtable();
    ht.Add("
    飞天",",100,5000,10");
    ht.Add("
    飞地", ",100,5000,10");

     

    -------以下内容做为了解-------------

    7.BitArray称之为位数组,主要用于01及是和否的存放。其方法Set()可以设置俱体的值,要求第一个参数为索引,第二个参数bool类型。例如:
    BitArray ba = new BitArray(5);
    ba.Set(1, true);

     

    8.Queue是队列,有先进先出的特性。它的Enqueue()方法用来从尾部添加一个值。值的类型可以为任意类型。例如:
    Queue qu = new Queue();
    qu.Enqueue(123);
    qu.Enqueue(434);

     

    9.Stack是栈集合,有后进先出的特性。它的Push()方法,用来向集合的顶部添加一个值。类型可以为任意类型。例如:
    Stack st = new Stack();
    st.Push(1);

    1.对象:世间万物都是对象。也就是说,对象是指一个俱体的,存在的事物。

     

    2.类:是指把一些俱有共同特性的对象抽像(归纳)出来我们称之为类。

     

    3.在程序里定义一个类,需要用到class关建字。类需要放在一个命名空间里边。类需要类名。如:class A

     

    4.在类中,可以包括字段,方法,属性,接口,委托。

     

    5.把类创建为对象的过程,我们称之为实例化。需要使用new关健字。如:A a=new A();

     

     

    6.通过对象.()访问类中的方法及字段。

     

    7.我们把 A a; 这样的过程,称之为建立对象引用的过程,建立对象引用,是将a存放到堆栈中, new A()的过程,称之为实例化的过程或创建对象

    的过程,是将a俱体的值存放到了堆当中。

     

    8.构造函数(也叫构造方法)是指在类被实例化为对象时,会首先执行的方法。

     

    9.构造方法的特点:不能返回类型及void,方法名和类名相同,必须为public,构造方法可以有多个,跟据参数的个数不同及类型不同会构成方法的重

    载。

     

    10.析构函数,用~关健字来创建,方法名必须与类名相同,析构函数只能有一个。

     

    11.方法的重载,当方法名相同,返回类型相同,参数个数不同及方法的参数类型不同时,会构成方法的重载。

     

    12.访问修饰符,目前我们用用publicprivate来修饰方法及字段,作用分别为public 修饰后,字段或方法可以在创建对象后用对象访问的到。

    private反之。

     

    13.通过const关建字来创建常量字段,通过readonly来创建只读的字段。两者的区别如下:只读字段,可以通过构造方法为其赋值。常量在任何情况

    下都不能被赋值。 从跟本上讲,只读字段是可以在程序的运行期被改变的,而常量是不能在程序的运行期被改变。

     

    14.C#编程当中,我们尽量把字段设为私有的。然后将其封装为属性,因为属性是可以控制字段的可访问性及是否可以被赋于值。

     

    15.属性的定义:属性必须与字段成对存在,属性与方法很像,但是没有括号,属性的类型必须与其封装的字段的类型相同,属性中包括get访问器及

    set访问,这两个访问器可以单独存在。在getset访问器的内部,我们可以写语句。例如:
    private string A="
    睡觉的都是坏孩子!";
            public string
    睡觉
            {
                get { return A; }//get
    访问器
                set { A = value; }//set
    访问器
            }


     

    16.this关健字,是指本类的意思,我们可以在方法中,使用this关建字访问本类的成员如this.本类中的方法()

     

    17.索引器是用来建立对象的索引的,通常会用在自定义集合里,在.NET framework里,经常应用在集合及数组里。

     

    18.ref关健字,用来传递引用,做为进参及出参来使用,可以为多个参数声明ref关健字。

     

    19.out关健字,做为出参来使用,同样也可以为多个参数声明out

     

    20.params关建字,用来声明数组参数,给值时可以给任意个数但要求类型相同。在方法的内部,可以将数组遍历。

  • 相关阅读:
    QT移植详解
    如何构建Qt4.7.0嵌入式开发环境
    Qt触摸屏、键盘的驱动[转]
    【详解】如何编写Linux下Nand Flash驱动
    QT安装 -->Error: register or shift expression expected -- `orr r3,r2,lsl#16'
    QT环境搭建常见的bug解决 -->ld: cannot find –lbootstrap 错误
    SDK支付流程
    IOS与Unity交互
    Android
    [转]个人对AutoResetEvent和ManualResetEvent的理解
  • 原文地址:https://www.cnblogs.com/suizhouqiwei/p/2217252.html
Copyright © 2011-2022 走看看