值类型与引用类型
- 值类型: 枚举, 结构体,13种基本数据类型
- 引用类型: 自定义类 数组 string 接口等
两者区别: * 值类型储存的是具体数据,引用类型变量是数据的引用 * 值类型变量储存在栈区,而引用类型变量在堆区(引用的变量本身是在栈区的)。 ### 创建时 1
2
3
4
5
6
7
8
9
10
11
12
13class Student {
public static void print() {
;
}
};
struct teacher {
;
};
Student s = new Student(); //相当于创建了一个引用
Student.print(); // 调用静态成员
teacher t; // 相当于创建了一个变量
数组创建
1 | int[] arr1 = new int [233]; |
string
1 | string s1; //特殊引用类型 |
控制台输入输出
1 | Console.WriteLine("233"); // 换行输出 |
函数的传值传引用
如果函数参数是引用类型,那么传递的参数就是引用,如果是值类型,那么就是传值。
如果对值类型进行传递引用: #### 使用ref 1. 定义函数时,使用ref修饰形参 2. 调用函数时,使用ref修饰实参变量 3. 实参必须初始化 1
2
3
4public static void Swap(ref int a, ref int b)
{
//;
}
使用out
- 定义函数时 使用out修饰形参
- 调用函数时,使用out修饰实参变量
- 实参可以不初始化,但函数体必须对实参进行赋默认值值操作
1
2
3
4public static void Swap(out int a = 1, out int b = 233)
{
//;
}
数据类型转换 拆箱与装箱
所有类型都直接或间接继承了Object类
装箱:把其它类型转换为Object类型 拆箱:把Object类型转化为其他类型 1
2
3int x = 25;
Object obj = (obj)x; //装箱
int y = (int)boj; // 拆箱
- 本文作者: 水蓝络合物
- 本文链接: https://miku39393939.github.io/2022/05/08/CS-1/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!