.NET Windows编程系列课程学习笔记(2):C#语法和OOP编程(上)

上一篇 / 下一篇  2009-04-10 23:30:11 / 个人分类:.NET

一: C#语法

1. 数组

a. 数组概述:1)数组索引从0开始;2)数组声明时,[]必须跟在类型后面;3)数组的大小不是类型的一部分;4)数组的使用需要初始化.

int[] numbers;

numbers = new int[10];

b. 数组是对象

System.Array是所有数组类型的抽象基类型.

c. 多维数组

1)使用多个数标访问其元素的数组

2)二维数组:

平面上点的坐标: pt(x,y)

声明: double[,] dbHeight = new double[3,4];

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

d. 数组的数组

a) 数组的每个元素是数组

b) 声明方式:

Int[][] arrayInt;

方式一:

arrayInt = new int[2][];

arrayInt[0] = new int[3];

arrayInt[1] = new int[4];

方式二:

arrayInt = {new int[]{1,2,3}, new int[]{4,5,6,7}};

e. 参数的数组

1) 参数的类型: 值参数,引用参数,输出参数

2) 参数数组:

可以使用个数不定的参数调用函数;必须是参数定义中的最后一个参数;用关键字params说明;params必须是一维数组.

public void fun(params int[]args)

2. 委托

1)委托

a. 委托使用的目的: 把函数作为参数传递

b. 类似于C++的函数指针

c. 是事件处理的基础

d. 委托是面向对象的,类型安全的和保险的

e. 委托声明:delegate double process(double db1);

delegate 函数返回类型名 委托名(函数参数)

2)匿名方法

  • 匿名方法允许将一个委托关联的代码内联到使用委托的地方,可以很方便的将代码直接写在委托实例中.
  • 匿名方法还共享对本地语句所包含的函数成员的访问.
  • 要将代码块传递给委托参数,创建匿名方法是唯一的方法.

3. 可空类型

  • 可被赋值为null值的值类型变量(引用类型已经支持null值)
  • 语法是T?是System.Nullable<T>的简写
  • 例如: int? x=10; double? d=4.108
  • 如果基础类型的值为null,请使用System.Nullable.GetValueOrDefault属性返回该基础类型所赋的值或默认值, 例如: int j=x.GetValueOrDefault;
  • HasValue和Value只读属性测试是否为空和检索值.默认HasValue为false,Value未定义.
  • 使用??运算符分配默认值,当前值为空的可空类型被赋值给非空类型时将引用该默认值.如: int? x = null; int y = x?? -1;
  • 不允许嵌套的可空类型.

4. 泛行

  • 泛型允许类、接口、结构、委托和方法通过它们所存储和操作的数据的类型来指定类型。
  • 这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。
  • 和使用object类相比,泛型降低了装箱和拆箱的负担,减少了类型转换所带来的错误
  • 使用泛型类型可以最大限度地重用代码、保护类型的安全以及提高性能。
  • 泛型最常见的用途是创建集合类

TAG:

 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 13859
  • 日志数: 28
  • 书签数: 1
  • 建立时间: 2009-04-02
  • 更新时间: 2010-06-09

RSS订阅

Open Toolbar