C# 中 Console.WriteLine 常见的几种形式及其用法差异-优快云博客
int num1 = 255;
int num2 = 128;
Console.WriteLine(String.Format("0x{0:X} 0x{1:X}", num1, num2)); // 输出 0xFF 0x80
string name = "Bob";
int age = 30;
Console.WriteLine($"Name: {name}, Age: {age}");
Console.WriteLine("Name: {0}, Age: {1}", name, age);
//使用转义字符可以在输出中包含特殊字符。例如,\n 表示换行,\t 表示制表符。
Console.WriteLine("This is a new line.\nThis is a tab: \tHello");
总结:
多态 虚函数 抽象类 接口
值类型:int double char decimal bool enum struct
引用类型:string 数组 自定义类 集合 object 接口
值传递/引用传递
值传递:作为参数复制时,传递的是这个值本身
引用传递:在复制的时候,传递的是这个对象的引用
这里有一个特例是字符串,字符串是引用,但是因为字符串的不可变性,所以必须重新开辟空间。
toString是一个典型的继承和虚方法的实现。
简单工厂设计模式:把子类对象存储到父类变量,通过父类对象调用子类对象的行为。
多态通常是通过继承和虚函数来实现。子类继承父类的方法,根据自身特点对父类虚函数重写,实现不同的行为,父类指针或引用调用父类的方法实际调用的是子类重写的方法,这就是多态。
继承的单根性,要实现多继承必须借助接口
序列化/反序列化 数据传输用
序列化 将对象转换为二进制,反序列化 将二进制转化为对象
不能够被实例化的有:静态类,抽象类,接口。
接口中只能定义方法、属性、索引器、事件,不能有字段和构造函数,这里需要注意的是自定义属性也是方法。
抽象类中定义的成员不能加“访问修饰符”,默认是public,不能修改;类中定义的成员默认是private。
接口是一种规范,只要一个类继承了接口,这个类必须实现这个接口的所有成员。
接口与接口之间可以继承,并且可以多继承。接口并不能去继承一个类,而类可以继承接口(接口只能继承于接口,而类既可以继承接口,也可以继承类)
一个类可以同时继承一个类并实现多个接口,如果一个子类同时继承了父类A,并实现了接口IA,那么语法上A必须在IA的前面,因为类是单继承的。
class MyClass:A,IA{}
当一个抽象类实现接口的时候,需要子类去实现接口。