zoukankan      html  css  js  c++  java
  • C# 基础(3)

    跳转语句

     

    Goto(现在一般不使用)

     

    标志位

    Flag true false

     

    常量:(不可改变的量)

    语法:

    Const 类型 变量名 常量值

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

     

    枚举

    是自己定义了一种类型,并且在定义这种类型时,我们要指定这个类型的所有值。

    语法:

    Enum 自己起的类型名称{写自己定义类型的所有的值,用逗号分割}

     

    枚举定义和类一个级别,这样在同一个命名空间下的所有的类都可以使用这个枚举了。(方法中、类中均可以),值不用双引号。

    枚举的作用:

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

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

     

    定义枚举的时候,值不能使int 类型。

    枚举类型的变量都可以强制转换为int 类型。

     

    字符串与枚举的转换(把字符串转换为枚举类型)

    (自定义枚举类型)(Enum.Parse(typeof(自定义枚举类型),“待转换的字符”)

     

    结构体

    定义:

     

    访问修饰符 struct 结构名

    {

      定义结构成员(可以包含变量和方法)

    }

     

    注意:

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

     

    数组

    可以帮助我们申请多个同类型的变量。这些变量时连续存储的。保存多个值,几乎任意连续都可以声明数组。

    数组声明的方法:

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

    Int  [] score = new int [5];f

    就是声明了一个长度为5的数组,里面包含看5int 类型的变量,数组名叫score,里面的5int类型的变量叫做数组的元素。

     

    如何来访问数组:

     

    通过下标(索引)来访问数组。

    数组名[索引号、下标]

    Score[3]= 8;

     

    Int类型数组一旦声明,里面的每个元素被初始化为

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

     

    Console.Clear();清屏

     

    声明并赋初值:

     

    Int [] num = new int [3]{3,5,8};

    Int [] num = new int[]{3,5,8};

    Int [] num = {3,5,8}

    Int [] num = new int [3];

     

     

    方法(函数):

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

    语法:

    Retrun 

    当形参是数组的时候,我们传递数组名。

     

    函数就是将一堆代码重用的机制,函数就是一段代码,这段代码可能有输入的值(参数),可能有返回值。一个函数就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给她,它执行完成后会有一些结果给我们,要求的数据就叫做参数,返回的执行结果就叫做返回值。

     

    方法的定义:

     

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

    {

    方法体;

    }

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

    2) 如果方法没有参数,()不能省略。

     

    注意:

    3)方法名的命名规则,开头大写,参数开头瞎写,参数名,函数名

     要有意义。

    3) 方法的调用,对于静态的方法,如果在同一个类中,直接写名字调用就可以了。

    4) Return 可以立即退出方法。 

    5) 如果方法没有返回值,则返回值类型为viod

     

    变量的作用域

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

     

    当调用者想得到被调用者方法中的变量时,则可以让调用者用参数的形式给被调用者。

     

    Public static void Test(int number);

     

    在方法名后面的括号内定义的变量,叫做定义这个方法的参数,这里定义的参数用于接收调用者传过来的参数。

     

    注意:一个方法一旦有参数,那么调用者就必须传递参数,并且传递参数的个数与对应位置的类型必须一致。

     

    Int.Parse()把字符串类型转换为int类型

     

    当调用者想访问我们方法中的变量时,可以通过返回值返回。

    String  s = Console.Readline();

    只要在方法中返回了值,那么在调用方法时,就应该定义一个变量来接收方法的返回值。

     

    注意:

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

    2) 一旦一个方法有返回值,那么在这个方法中美酒必须通过retrun语句返回一个值,并且这个值的类型要和返回值类型相同

    语法

    Retrun 值;

     

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

     

    const修饰的常量不能用static修饰。

     

    方法的重载

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

    方法的重载与返回值没有关系。

     

    如何让方法返回多个值?

    方法的out 参数和ref参数

     

    实现步骤:

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

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

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

     

     

    异常处理语句

     一个try块可以:

    1)一个finally块,无catch

    2)有一个或多个相关的catch块,二无finally

    3)包含一个或多个catch块,同时同一个finally

    Throw语句

    class Program

        {

            public class UserEmployeeException : Exception//派生了一个新异常类

            {

               //定义了3个构造函数,每个构造函数使用不同的参数,然后再抛出异常

                private string errorinfo = string.Empty;

                public UserEmployeeException()

                { 

                }

                public UserEmployeeException(string message)

                    : base(message)

                {

                    errorinfo = message;

                }

     public UserEmployeeException(string message,Exception inner):base(message )

                {

                    errorinfo = message;

                    inner = null;

                }

            }

            static void Main(string[] args)

            {

     

                try

                {

                    throw new UserEmployeeException("error info of use");

                }

                catch(UserEmployeeException  ey)

                {

                    Console.WriteLine("输出结果为:");

                    Console.WriteLine(ey.Message ,ey .InnerException );

                    Console.ReadKey();

                }

            }

    }

    Try-catch 

    Try-catch-finally

    Finally用于清除try块中分配的任何资源,以及运行必须执行代码,及时在发生异常的情况下,控制将总是传递给finally,与try块的退出方式无关。

     static void Main(string[] args)

            {

                int i = 123;

                string s = "some string";

                object o = s;

                try

                {

                    i = (int)o;

                }

                catch (Exception ee)

                {

                    Console.WriteLine(ee.Message.ToString());

                }

                finally

                {

                    Console.WriteLine("i={0}",i);

                }

                Console.ReadKey();

  • 相关阅读:
    HDU 2192 MagicBuilding
    HDU 2148 Score
    HDU 1847 Good Luck in CET4 Everybody!
    往CImageList中加图标列表
    LoadIcon
    OnInitialUpdate 详解
    设备坐标(DP)、客户坐标(Client)、逻辑坐标(LP)
    Web及网络基础学习(一)
    Qt 下QMessageBox下中文乱码问题
    vs2005菜单:选项项目和解决方案
  • 原文地址:https://www.cnblogs.com/sly-tongtong/p/3688222.html
Copyright © 2011-2022 走看看