码迷,mamicode.com
首页 > Windows程序 > 详细

C#基础(3)

时间:2015-03-06 15:34:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:

一、常量:

   语法:

          const      类型     常量名=变量名

在定义时赋值,在其他地方不允许赋值

二、枚举:

  让我们定义一种类型并且在定义这种类型时,我们要指定这个类型的所有值

语法:

        enum(自己起的类型名称){值1,值2,、、、、值n}

         例如:定义一个叫Gender的枚举类型,它的值只有两个,男和女

                  enum    Gender

                  {

                       男,女

                  }

枚举的定义一般和类定义在同一个级别,这样,在同一个命名空间下的所有的类就都可以使用这个枚举了(方法中/类中也可以)

枚举的作用:

(1).限制用户不能随意赋值,只能在定义枚举时列举的值中选择

(2).    不需要死记每一个值是什么,只需要选择相应的值

注意:定义枚举时,值不能是int类型

枚举类型的变量都可以强制转换成一个int类型

枚举的值在定义时有一个默认编号,编号从0开始

如果把一个字符串转换成枚举类型:

       公式:      (自己定义的枚举类型)(Enum.Parse(typeof(自己定义的枚举类型),"待转换的字符串")

           典型的枚举类型: Message.Show的参数

三、结构:

结构也是一种类型,也可以包含变量和方法

 语法:

        访问修饰符   struct    结构名

          {

               定义结构成员

         }

定义好一个结构后,就可以直接声明相应的变量了,声明好变量后,通过变量名.成员名来访问成员

四、数组:

可以帮我们一次声明多个同类型的变量,这些变量在内存中是连续存储的

    语法:

            数组类型[]  数组名 =new 数组类型[数组长度]

           例如:int[]  score=new int[5]

如何访问数组:通过下标(索引)来访问数组

int数组一旦声明,里面的每一个元素被初始化成0.

通过  数组名.Length 可以获得数组的长度

console.Clear()  : 清屏

五、冒泡排序:

让数组中的元素两两比较(第i个和第i+1个比较),经过i-1次两两比较,数组中的元素能按照我们预期的规律排序;要从大到小排序,我们进行两两比较的时候用<,要从小到大排序,我们进行两两比较的时候用>

   公式:

            for (int i=0;i<numbers.Length-1;i++)          //number为数组名

            {

                   for (int j=0;j<number.length-1;j++)

                  {

                      if (条件)

                      {

                           交换

                     }

                }

           } 

六、方法:

功能:用来复用代码的,当我们在一个程序中反复写同样的代码,那一般情况下,我们可以把需要重复写的代码定义在一个方法中,用的时候只需要调用就行了

定义方法的语法:

               [访问修饰符]  [static]   返回值类型  方法名([参数])

               {

                    方法体

               }

注意:

(1).一般情况下,方法一般要定义在类中

(2).如果方法没有返回值,则返回值类型写void

(3).如果方法没有参数,括号()不能省

命名规则:

方法名开头要大写,参数名要大写,参数名、变量名要有意义

方法的调用:

对于静态方法(由static修饰的)则使用类名.方法名;如果在同一个类中调用本类中的方法,可以只写方法名();

一个变量一旦定义在方法外、类的里面,就叫做类的字段,这个变量就可以被本类的所有方法所访问,但是要注意,静态方法不能访问静态字段

七、变量的作用域:

在方法中定义的变量称为局部变量,其作用域是从定义开始,到其所在的大括号结束为止

八、返回值:

   语法:

           return   值;

注意:

一个方法只能有一个返回值

一旦一个方法有返回值,那么在这个方法中,就必须通过return语句返回一个值,并且这个值要与返回值类型相同

九、重载:

一般在同一个类中,方法名相同,并且方法的参数的个数不同或者对应位置上的类型不同,才能构成方法的重载

     例如:

              public double static Shu(int a,double b)和  public double static Shu(double a,int b)

     或者

              public double static Shu(int a,int b,int c)和  public double static Shu(int a,int b)

注意:

方法的重载和返回值无关

十、方法的out参数和ref参数

          通过参数来返值:

                          static void main(string[] args)    //调用者

                          {

                                 int number;

                                 int result=Test(out number);

                                 Console.WriteLine("number={0},result={1}",number,result);

                         }

                         static int Test(out int a)    //被调用者

                         {

                                  a=10;

                                  a=a+1;

                                  return 200;

                        }

如上代码:

     实现步骤:

(1).在方法的参数类型前加out,那么传参数的时候,也必须在number前加out,表明这个参数不是传入的,而是用来传出值的

(2).如果参数是以out形式传入的,那么在传入前可以不赋初值

(3).在方法中对于由out修饰的参数,必须赋值,并且必须在使用前赋值

 

out是内部为外部变量赋值,out一般用在函数需要有多个返回值的场合

out用于传出值,在方法中必须对out修饰的参数进行赋值

ref可以理解成是双向的,既可以传入,也可以传出

在传参数的过程中,如果参数有out或ref修饰的话,那么改变方法中的参数变量的值,调用者方法中的变量的值也会相应的改变

C#基础(3)

标签:

原文地址:http://www.cnblogs.com/qal2767799810/p/4318139.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!