C#—基础语法

        最近开始学习C#编程语言,以前一直使用C/C++,也只是用到了一些最简单基础的用法。为了方便学习,将学习过程中C#语言与C/C++不同或不熟悉之处记录下来,以便日后随时查看。本人是通过阅读《C#入门经典(第6版)》学习C#,在阅读过程中随手作如下记录。

变量在使用之前必须对其进行声明和初始化。

switch每个分支必须带有break语句。

结构体声明时,成员变量类型前需带有访问控制方式(如public)。

数组声明方式    <baseType> [] <name>。可以通过name.Length获取数组的大小。

数组必须在访问之前初始化,初始化方式(任选其一):

1)        int [] myIntArray = {5, 9, 10, 2, 99};

2)        int [] myIntArray = new int[5];

可以结合使用两种初始化方式    int [] myIntArray = new int[5] {5, 9, 10, 2, 99};

foreach循环能够访问数组的所有成员,但只能进行只读访问

       foreach (<baseType> <name> in <array>)

       {

       }

矩形数组(每一行的元素个数都相同)

二维数组的声明       <baseType> [,] <name>

多维数组的声明       <baseType> [,,,] <name>  (此为一个四维数组)

二维数组的初始化例子:

1)        double [,] myArray = new double [3,4];

2)        double [,] myArray = {{1, 2, 3, 4}, {2, 3, 4, 5}, {3, 4, 5, 6}};

元素的访问 myArray[2, 1]

foreach循环可以访问多维数组中的所有元素

锯齿数组每行的元素个数可能不同)(数组的数组):

(以二维数组为例)

声明方式     int [][] myArray;

初始化方式:

1)        myArray = new int [2][];

myArray[0] = new int [3];

myArray[1] = new int [4];

2)        myArray = new int [2][] {new int [3] {1, 2, 3}, new int [4] {2, 3, 4, 5}};

需要使用嵌套的foreach循环才能访问数据,如:

       foreach (int [] var1 in myArray)

       {

              foreach (int var2 in var1)

              {

              }

       }

函数(参数数组):

       允许为函数(只能)指定一个特殊参数,此参数是函数定义中的最后一个参数,称为参数数组。使用params定义。

       <returnType> <FunctionName> (<p1Type> <p1Name>, …… , params <type> [] <name>)

       {

              return <returnValue>;

       }

       参数数组在调用代码不必传递数组,而是传递同类型的几个参数(个数几乎不受限制),这些参数会被放在可在函数中使用的一个数组中。

函数(引用参数):

       值参数,是在使用参数时,是把一个值传递给函数使用的一个变量。对函数中此变量的任何修改都不影响函数调用中指定的参数。

       引用参数:即函数处理的变量与函数调用中使用的变量相同,对这个变量进行的任何改变都会影响用作参数的变量值。需使用ref关键字。

       函数声明     <returnType> <FunctionName> (ref <type> <name>)

       函数调用     <FunctionName> (ref <name>)

       用作ref参数的变量必须是“非常量”变量,且必须是初始化过的变量。

函数(输出参数):

       使用out关键字指定所给的参数是一个输出参数。在函数执行完毕后,该参数的值将返回给函数调用中使用的变量。在函数声明和函数调用中的方式与引用参数一样。未赋值(未初始化)的参数可以用作out参数。

函数(结构函数):函数可以放在结构体中。

委托

       委托的声明类似于函数,但不带函数体,且要使用delegate关键字。用法举例:

       (声明)delegate double ProcessDelegate(double p1, double p2);

       (使用)ProcessDelegate process;(ProcessDelegate是委托名,可以任意取)

                      process = new ProcessDelegate(要使用的函数名); 或 process = 要使用的函数名;

                      process就可当作函数一样使用了。

       委托可以作为参数传递给函数。

程序运行状态下的调试:

1.        在Output窗口输出调试信息。using System.Diagnostics;使用命令Debug.WriteLine()、Debug.Write()、Debug.WriteLineIf()、Debug.WriteIf()或Trace.WriteLine()、Trace.Write()、Trace.WriteLineIf()、Trace.WriteIf()。其中Trace命令可用于发布程序。

2.        VS自带功能,使用跟踪点(tracepoint)。在目标代码行右键选择插入跟踪点,然后键入要输出的信息。VS菜单中Debug | Windows | Breakpoints显示断点的通用窗口。

异常:

       try

       {

       }

       catch (<exceptionType> e)       可以省略参数以此来响应所有异常

       {

       }

       finally

       {

       }

       可以有一个或多个catch块,如果没有catch块,就一定要有finally块。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值