C#基础学习笔记
本文最后更新于8 天前,其中的信息可能已经过时,如有错误请发送邮件到1077511618@qq.com

C# 基础

C# 复杂数据类型概述

枚举

枚举:枚举是一个被命名的整形常量的集合,一般用来表示状态、类型等等。

申明枚举:相当于创建一个自定义的枚举类型;
申明枚举变量:使用申明的自定义枚举类型创建一个枚举变量。

申明枚举的语法

// 枚举名以E或者E_开头作为我们的命名规范
enum E_自定义枚举名
{
    自定义枚举项名字1,  // 枚举中包裹的整型常量第一个默认值是0,下面会依次累加
    自定义枚举项名字2 = 5,  // 也可以在申明的时候进行赋值,此时下一项会根据本项进行累加
    自定义枚举项名字3,
}

在哪里申明枚举

①namespace语句块中;
②class , struct语句块中。
不可以在函数中申明枚举!!!

枚举的使用

示例:

enum E_MonsterType
{
    Normal,
    Boss,
}

class Program
{
    // 申明枚举变量
    E_MonsterType monsterType = E_MonsterType.Boss;
    if (monsterType == E_MonsterType.Boss)
    {
        Console.WriteLine("大Boss!");
    }
    else if (monsterType == E_MonsterType.Normal)
    {
        Console.WriteLine("小怪罢了。");
    }
}

枚举的类型转换

enum E_MonsterType
{
    Normal = 0,
    Boss = 1,
}

class Program
{
    E_MonsterType monsterType = E_MonsterType.Boss;
    static void Main(string[] args)
    {
        // 1 - 枚举和int互转
        int i = (int)monsterType;
        // int转枚举
        monsterType = 0;

        // 2 - 枚举和string互转
        string str = monsterType.ToString();
        // string转枚举
        monsterType = (E_MonsterType)Enum.Parse(typeof(E_MonsterType) , "Boss"); 
    }
}

数组(简单记录一下)

数组声明

// 一维数组
int[] array1 = new int[5] {1,2,3,4,5};
// 二维数组
int[,] array2 = new int[2 , 2] {{1 , 1} , {2 , 2}};

值和引用类型

ref 和 out

ref 和 out 的作用

它们可以解决在函数内部改变外部传入的内容,函数里面变了,外面也要变。
示例:

static void ChangeArray(int[] arr)
{
    arr = new int[] {10 , 20 , 30};
}

int[] arr = new int[] {1 , 2 , 3};
ChangeArray(arr);
Console.WriteLine(arr[0]);

// 可以看到输出结果为 1 ,没有像预想中那样变为 10.
// 原因分析:函数中new了一个新的地址(相当于重新声明了一个数),所以赋值是给了新的地址,原先地址没有改变,arr的元素保持不变。
// 那么如果要把外面的也改变,就要使用ref 和 out:
// ref
static void ChangeArray_1(ref int[] arr)
{
    arr = new int[] {10 , 20 , 30};
}
ChangeArray_1(ref arr);

// out
static void ChangeArray_2(out int[] arr)
{
    arr = new int[] {10 , 20 , 30};
}
ChangeArray_1(out arr);
// 形参是单个整数也是这样用哦~

ref 和 out 的区别

ref传入的变量必须初始化,而out不需要;
out传入的变量必须在内部赋值,而ref不用。

ref传入的变量必须初始化,但是在内部可改可不改;
out传入的变量不用初始化,但是在内部必须要进行赋值操作。

变长参数和参数默认值

变长参数关键词 params

class Program
{
    static int Sum(params int[] arr)
    {
        for (int i = 0; i < arr.Length; i++)
        {
            sum += arr[i];
        }
        return sum;
    }

    static void Main(string[] args)
    {
        Sum(1 , 2 , 3 , 4); // 传入多少个都行(只要类型一致)
    }
}

注意:params关键词后必为数组;数组的类型可以是任意类型;函数参数可以有别的参数和params关键词修饰的参数;函数参数中只能最多出现一个parmas关键字,并且一定是在最后一组参数,而前面可以有其他参数

参数默认值

有参数默认值的一般称为可选参数;
作用是 当调用函数时可以不传入参数,默认使用默认值作为参数值。
(跟CPP差不多,不多阐述)

注意:
支持多参数默认值,每个参数都可以有默认值。
如果要混用,可选参数必须写在普通参数后面。

后面的学了C和CPP都差不多了,不再记录。

评论

  1. anno tokyo
    iPhone AppleWebKit
    1 周前
    2026-7-20 13:45:40

    soyo最厉害啦

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇