C#学习笔记(2)——program building blocks

1、成员

class的成员要么是静态成员,要么是实例成员。静态成员属于类,而实例成员属于对象。

2、字段

字段是类或类实例相关联的变量

下面的例子里,R,G,B在每个类都有一份,但对于静态变量五个颜色,无论创建多少个实例,只有一份副本。

public class Color
{
    public static readonly Color Black = new(0, 0, 0);
    public static readonly Color White = new(255, 255, 255);
    public static readonly Color Red = new(255, 0, 0);
    public static readonly Color Green = new(0, 255, 0);
    public static readonly Color Blue = new(0, 0, 255);
    
    public byte R;
    public byte G;
    public byte B;

    public Color(byte r, byte g, byte b)
    {
        R = r;
        G = g;
        B = b;
    }
}

3、方法

静态方法通过类进行访问,而实例方法是通过类的实例进行访问。
注意: 方法的签名必须是唯一的!!

一个紧凑型方法的例子:

public override string toString() => "This is an object.";

4、四类参数

(1)值参数

修改形参并不会影响实参的值

(2)引用参数

修改引用参数会影响实参的值

(3)输出参数

与引用参数基本一样,但是在调用方法的时候不需要显性赋值,例如可以只写成 (out int res) 调用

(4)参数数组

参数数组允许向方法传递数量不定的自变量。 以Console.WriteLine方法为例,参数1为字符串,参数2为object型的数组

int x = 1;
int y = 2;
int z = 3;
string s = "x = {0}, y = {1}, z = {2}";
object[] para = new object[3];
para[0] = x;
para[1] = y;
para[2] = z;
Console.WriteLine(s, para);

5、静态和实例方法

静态方法只能访问静态成员
实例方法只对特定的实例起作用,能够访问静态和实例成员

6、虚方法、重写方法和抽象方法

看不懂┭┮﹏┭┮,留坑待补充

7、属性

属性是字段的自然拓展。属性最大特点是包含访问器。
get访问器读取此值,set访问器写入该值。
只有get访问器的是“只读属性”,只有set访问器的是“只写属性”。两个都有的叫“读写属性”

8、索引器

索引器的声明方式与属性类似,不同之处在于,索引器成员名称格式为 this 后跟在分隔符 [ 和 ] 内写入的参数列表。

9、多维数组的遍历

方式一:

int[,] a = new int[10,10];
for(int i=0;i<a.GetLength(0);i++)//至第一个维度的长度
{
    for(int j=0;j<a.GetLength(1);j++)至第二个维度的长度
    {
        a[i, j] = i * j;
        Console.Write("a[i,j]={0}\t", a[i, j]);
    }
    Console.WriteLine();
}
Console.ReadLine();

方式二:

int[][] a = new int[3][];//设定第一维长度为3
a[0] = new int[10];
a[1] = new int[5];
a[2] = new int[7];
for(int i=0;i<a.Length;i++)
{
    for(int j=0;j<a[i].Length;j++)//类似与C++
    {
        a[i][j] = i * j;
        Console.Write("a[i][j] = {0}\t", a[i][j]);
    }
    Console.WriteLine();
}
Console.ReadLine();

10、foreach语句适用于任何集合

例子:

foreach(int item in a)
{
	Console.WriteLine(item);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值