随笔分类 - C#学习记录
摘要:多态: 虚方法(virtual override) 抽象类(abstract override) class Program { static void Main(string[] args) { //虚方法 /*RealDuck realDuck = new RealDuck(); realDuc
阅读全文
摘要:1、序列化与反序列化 //序列化和反序列化 //序列化:将对象转换为二进制 //反序列化:将二进制转换为对象 //传输数据 //状态保持 //我是服务器,将数据发送给客户端 /*Person person = new Person(); person.Name = "张三"; person.Age
阅读全文
摘要:1、File 类是静态类,所提供的类成员也是静态的,调用其类成员直接使用 File 类的名称调用即可。 //如果文件不存在,则创建 if (!File.Exists("1.txt")) { File.Create("1.txt"); } else//如果存在则删除,重新创建 { File.Delet
阅读全文
摘要:1、键值对集合练习 //键值对集合练习 string str3 = "1一 2二 3三 4四 5五 6六 7七 8八 9九 0零"; //提示用户在控制台输出阿拉伯数字 你返回它的大写形式 Dictionary<char, char> dic = new Dictionary<char, char>
阅读全文
摘要:Path 类主要用于文件路径的一些操作,它也是一个静态类。 Path 类中常用的属性和方法如下表所示。 属性或方法作用 string ChangeExtension(string path, string extension) 更改路径字符串的扩展名 string Combine(params st
阅读全文
摘要:1、Dictionary集合 Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(1, "张三"); dic.Add(2, "李四"); dic.Add(3, "王五"); dic.Add(5, "王八"); if
阅读全文
摘要:1、list泛型集合 //ArrayList List<T> //Hashtable Dictionary<Tkey,Tvalue> List<string> list2 = new List<string>(); list2.Add("张三"); list2.Add("男"); list2.Add
阅读全文
摘要:1、装箱、拆箱 1)装箱用的什么类型,拆箱的时候也用什么类型 int n = 10; object o= n; int nn=(int)o; Console.WriteLine(nn); 2、hashtable:键 值集合 字典:拼音 >汉字 //键 >值 //创建了一个键值对集合 Hashtabl
阅读全文
摘要:1、命名空间 相当于类的文件夹,为了解决类重名。 2、值类型和引用类型 区别: 1)在内存上存储的位置不一样 2)传递的方式不一样。 值类型:int、double、bool、char、decimal、struct、enum 引用类型:string、自定义类 值类型存储在内存的栈中,引用类型存储在内存
阅读全文
摘要:1、属性 为了保护字段,属性的本质是两个方法,一个是get(),另一个是set(); 2.静态和非静态的区别 ①在非静态类中,可以有实例成员,也可以有静态成员。 ②在调用实例成员的时候,需要使用对象名.实例成员。 在调用静态成员的时候,需要使用类名.静态成员名。 总结:静态成员需要用类名去调用,实例
阅读全文
摘要:1.方法的递归 自己调用自己 static void Main(string[] args) { //Console.WriteLine("Hello World!"); Program pr = new Program(); pr.Count(3); } public void Count(int
阅读全文
摘要:1.方法的重载 1)方法的名称相同,参数不同; 2)参数不同有两种情况:①参数的个数相同,那么参数的类型就不同;②参数的类型相同,那么参数的个数不相同; 3)方法的重载跟返回值没有关系。 static void Main(string[] args) { M(); } public static v
阅读全文
摘要:1.params可变参数 1)调用方法时,实参列表和可变参数数组类型一致时,将按照数组元素来处理。 2)可变参数必须是形参列表中最后一个元素。 3)形参列表中只能出现一个params可变参数。 2.练习 static void Main(string[] args) { //int[] n = {
阅读全文
摘要:1.总结: ref参数要求在方法外必须赋值,方法内可以不赋值;将一个变量带入方法内,改变完成后,带出方法外; 2.例子: static void Main(string[] args) { //ref例子 double salary = 5000; add(ref salary); Console.
阅读全文
摘要:1.out参数的使用 static void Main(string[] args) { //out 参数的使用 int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; GetMaxMinSumAvg(nums,out int max,out int min,
阅读全文
摘要:判断年份是否是闰年的方法 static void Main(string[] args) { //写一个方法,判断年份是否是闰年 Console.WriteLine("请输入年份:"); int year= Convert.ToInt32(Console.ReadLine()); bool b=Is
阅读全文
摘要:1.结构:可以一次定义多个不同类型的变量 2.数组:一次可以定义多个相同类型的变量 语法:数据类型[ ] 数组名=new 数据类型[数组长度] int[] arraryname=new int[]; /*一次语文测试后,老师让班长统计每一个学生的成绩并计算全班(全班共6人)的平均成绩,然后把所有成绩
阅读全文
摘要:1.常量 语法:const 类型 变量名 = 赋值; const string gameName = "admin"; 特点:程序运行过程中,其值不能发生改变; 2.枚举 语法:enum 枚举名 { 枚举值,用逗号隔开}; enum Gender { 男,女 } 3.枚举类型的常用转换 每个枚举值都
阅读全文