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

本文共 2838 字,大约阅读时间需要 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);            }

 

转载于:https://www.cnblogs.com/yshyee/p/4066980.html

你可能感兴趣的文章
Winform 菜单和工具栏控件
查看>>
CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
查看>>
巧用Win+R
查看>>
浅析原生js模仿addclass和removeclass
查看>>
Python中的greenlet包实现并发编程的入门教程
查看>>
java中遍历属性字段及值(常见方法)
查看>>
YUI3自动加载树实现
查看>>
like tp
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
SDK目录结构
查看>>
malloc() & free()
查看>>
高精度1--加法
查看>>
String比较
查看>>
Django之Models
查看>>
Linux 的 date 日期的使用
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>