• 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);
                }
  • 相关阅读:
    报表引擎API开发入门— EJB程序数据源
    真正意义上下一代 Windows Embedded:有关 Windows 10 "Athens" 的事
    如何将网格式报表打印成其它样式
    报表引擎API开发入门—带参程序数据集
    wifi漫游测试过程
    前端,Java,产品经理,微信小程序,Python等资源合集大放送
    bootstrap+fileinput插件实现可预览上传照片功能
    Jquery前端分页插件pagination同步加载和异步加载
    Jquery前端分页插件pagination使用
    最简单的混合开发教程资料汇总
  • 原文地址:https://www.cnblogs.com/yshyee/p/4066980.html
Copyright © 2020-2023  润新知