• 第11天知识点总结


    正则表达式匹配读取网页的时候

    href="(.+?)"    //尽可能匹配

    href="([^"]+)"//不包含引号的匹配

    如果是这样<a href="baidu.com"></a><a href="hao123.com"> </a>

    涉及到非开发模式的是后会影响一定的效率,所以使用href="([^"]+)"//不包含引号的匹配会好一些

      static void Main(string[] args)
            {
                //读取文件内容,不加Encoding.Default时会乱码
                string names = File.ReadAllText("百家姓.txt",Encoding.Default);//文件内容全部读取
    
                //正则表达式
                string regex = @"△(.+)";
                MatchCollection ms = Regex.Matches(names,regex);
                foreach (Match m in ms)
                {
                    if (m.Success)
                    {
                        Console.WriteLine(m.Groups[1].Value);
                    }
                }
                Console.ReadKey();
            }

    1.var介绍

    会根据第一次赋值确定类型

    注:

      ->声明是必须赋值

      ->并且不是复制后还可改变,只是由于第一次赋值由编译器根据值为变量确定类型

      ->在程序中一般少用var(在linQ中会常用到),通篇var不利于代码的维护

      ->不允许定义时,不确定类型

    在定义数组的时候      var num=new int[]{1,2};

    2.匿名类型(*)

    在某些特定的技巧中会使用到匿名类型,其类型带有很强的灵活性,主要是配合查询结果,绑定数据

    语法:

      var obj = new

      {  //成员--只能写属性

      }

    3.初始化器

      回忆数组如何定义初始化?

      int[] nums = new int[3] {1,2,3};

      int[] nums = new int[] {1,2,3};

      int[] nums={1,2,3};

      数组语法

      int[] nums=new int[10];

      for(int i=0;i<nums.Lenght;i++)

      {

        nums[i]=....

      }

    在定义时int[] nums = new int[3] {1,2,3};后面的{1,2,3};就是一个初始化器

     初始化器

      数组有,(int[] nums = new int[3] {1,2,3};)

      class Program
        {
            static void Main(string[] args)
            {
             //1.集合--初始化器
                List<int> list = new List<int>() {1,2,3,4,5,6,7,8,9,0 };
               
                
             //2.类--初始化器
                //对应构造方法
                Person p = new Person() { Name = "张三", Gender ='', Age = 18 };
    
                //自动属性
                List<Test> listTest = new List<Test>();
                listTest.Add(new Test() { Name = "张三" });
    
    
                //3结构--初始化器
                MyPoint point = new MyPoint() { X = 10, Y = 20 };
    
            }
        }
    
    
        //构造方法创建类
        class Person
        {
            protected string _name;
            protected int _age;
            protected char _gender;
            public Person(int age,string name,char gender)
            {
                _name = name;
                _age = age;
                _gender = gender;
            }
            public Person()
            {
    
            }
    
            public string Name
            {
                get { return _name; }
                set { _name = value; }
            }
    
            public int Age
            {
                get { return _age; }
                set { _age = value; }
            }
    
            public char Gender
            {
                get { return _gender; }
                set { _gender = value; }
            }
    
    
        }
    
        //没有构造方法,只有自动属性
        class Test
        {
            public string Name{ get; set; }
        }
    
    
        //结构
        struct MyPoint
        {
            public int X;
            public int Y;
        }
    }

    4.扩展方法

      方法中带向下小箭头的方法-----是外部添加的方法(理解为自己添加的方法)

      语法

       -》 静态类与静态方法

       -》方法第一个参数为对象参数

        记住一个字符串匹配的例子emall

    未完,,等待书写

  • 相关阅读:
    python版本升级及pip部署方法
    Redis集群管理(二)
    UP UP UP!(dp)
    One Way Roads(搜索)
    Back to Underworld(搜索)
    队列链表实现以及有序表的合并
    第八届郑州轻工业学院ACM(程序设计大赛)校内预选赛
    Modulo Sum(背包 + STL)
    Co-prime Array&&Seating On Bus(两道水题)
    Hard Process(二分)
  • 原文地址:https://www.cnblogs.com/Maxq/p/6052946.html
Copyright © 2020-2023  润新知