博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#笔记
阅读量:7051 次
发布时间:2019-06-28

本文共 2788 字,大约阅读时间需要 9 分钟。

1:对象初始化操作

C#3.0中引入了新的对象初始化方法,之前的方式:

User user = new User();user.name = "test";user.age = 10;

现在的方式:

User user = new User(){name="test",age=10};

变得更简洁,可读性更好。

2:获取随机数

多次获取时要保证Random只实例化一次,否则获取到的随机数会相同。

static long tick = DateTime.Now.Ticks;        Random ran = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));        private int getRandom()        {            return ran.Next(1,10);        }

 3:属性(Private)的封装

namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            User user = new User();            user.Name = "testname";            Console.WriteLine(user.Name);        }    }    class User    {        private String name;        public String Name        {            get            {                return name;            }            set            {                name = value +",hahaha!";            }        }    }}

 4:继承中的方法覆盖

在子类中使用override关键字 向子类中增加一个方法,可以替换掉它继承的父类中的方法。

覆盖一个方法之前,需要在基类中将这个方法声明为virtual。子类中可以使用base访问基类中方法。

namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            Teacher teacher = new Teacher();            Student student = new Student();            teacher.name = "ZhangSan";            teacher.age = 26;            teacher.PintfInfo();            teacher.SayHello();            student.name = "LiSi";            student.age = 21;            student.PintfInfo();            student.SayHello();        }    }    class Person    {        public String name;        public int age;        //使用virtual关键字,声明允许子类覆盖        public virtual void SayHello()        {            Console.WriteLine("Person.SayHello()");        }    }    class Student : Person    {        public void PintfInfo()        {            Console.WriteLine("Name:"+name+",Age:"+age);            //子类中可以使用base访问基类中方法            base.SayHello();        }        //子类中使用override关键字,声明覆盖父类中的方法        public override void SayHello()        {            Console.WriteLine(name+" SayHello()");        }    }    class Teacher : Person    {        public void PintfInfo()        {            Console.WriteLine("Name:" + name + ",Age:" + age);        }    }}

 5:List

List<T> list = new List<T>();

要让List的内置Sort()方法能够处理某个类,只需让这个类实现IComparable接口,并增加一个CompareTo方法。

通过IComparable接口告诉List如何进行排序。 CompareTo方法返回1,0,-1。

6:键值对Dictionary

static void DictionaryTest()        {            Dictionary
dic = new Dictionary
(); dic.Add("zs", "zhangsan"); dic.Add("ls", "lisi"); Console.WriteLine(dic["zs"]); }
foreach (string value in dic.Values)            {                Console.WriteLine(value);            }            foreach(string key in dic.Keys)            {                Console.WriteLine(key);            }

 

转载地址:http://krsol.baihongyu.com/

你可能感兴趣的文章
《网页设计心理学》一1.5 嗨,我理智地控制我的行为,不是么?
查看>>
《精通Wireshark》—第2章2.2节抓包过滤器
查看>>
可视化:把整个宇宙放在一张图里
查看>>
《游戏大师Chris Crawford谈互动叙事》一1.7 本章小结
查看>>
《精通Wireshark》—第1章1.7节练习题
查看>>
《Java编码指南:编写安全可靠程序的75条建议》—— 第1章 安全
查看>>
《网站分析师实战指南》一第2章 通往实战之路2.1 从“准备之地”开始
查看>>
《开源硬件创客——15个酷应用玩转树莓派》——6.3RaspNAS
查看>>
你知道URL、URI和URN三者之间的区别吗?
查看>>
《Python Cookbook(第3版)中文版》——1.10 从序列中移除重复项且保持元素间顺序不变...
查看>>
深入实践Spring Boot3.2.1 新建控制器
查看>>
《C++游戏编程入门(第4版)》——2.6 使用while循环
查看>>
《Linux C编程从入门到精通》一第2章 在Linux中编写C语言代码2.1 Linux中C语言程序开发流程和工具介绍...
查看>>
《Ceph源码分析》——第3章,第2节Simple实现
查看>>
摊上事了! Facebook向用户手机发生日信息涉嫌违法
查看>>
《HTML5 Canvas开发详解》——2.4 使用路径创建线段
查看>>
《Ansible权威指南》一2.2 Ansible配置文件解析
查看>>
linux常用命令 — 操作目录
查看>>
vue axios+springboot 文件下载
查看>>
JS的继承方式
查看>>