zoukankan      html  css  js  c++  java
  • C#笔记

    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<string, string> dic = new Dictionary<string, string>();
                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);
                }
  • 相关阅读:
    python学习笔记(locust性能测试模块)
    python学习笔记(日志系统实现)
    python学习笔记(自定义库文件路径)
    python学习笔记(字典乱码)
    Django框架数据库模型
    Django框架学习笔记(windows环境下安装)
    zabbix自动化运维学习笔记(服务器配置)
    zabbix自动化运维学习笔记(服务器安装)
    tomcat相关漏洞复现
    sqli-labs学习笔记(基础篇)
  • 原文地址:https://www.cnblogs.com/yshyee/p/4066980.html
Copyright © 2011-2022 走看看