• 数组、集合、字符串操作、函数小结


     字符串的操作

    字符串类型

       1、去空格

        Trim();   // 取头尾空格,还有去前边空格,去后边空格

      2、全部大小写

        ToUpper(); //全部大写

        ToLower(); //全部小写

      3、判断是否以子串开头、结尾、是否包含

        StartsWith("s"); //是否以  s  开头,是返回true

        EndWith("s");  //是否以  s  结尾,是返回true

        Contains("s"); //是否包含  s  ,是返回true

      4、判断字符串出现的位置

        IndexOf("s");  //从字符串中找到 s 第一次出现的位置,没有返回-1

        LastIndexOf("s");//最后一次出现的位置,没有返回-1

      5、字符串的截取、替换、拆分

         SubString(起始位置,长度(可以省略)); //字符串的截取

        Replace("_","-");//替换

        Split('_');   //拆分 

          string a = "a_sdfw";
          string b = a.Replace("_","-"); //替换
          Console.Write(b + " ");
          string[] c = b.Split('-');   //拆分
          for (int i = 0; i < c.Length; i++)
          {
            Console.Write(c[i]+" ");
          }

    日期时间类型

      1、设置时间

        DateTime dt = new DateTime();
        DateTime dt = new DateTime(1999,3,12);
        DateTime dt = new DateTime(1999,3,12,15,47,56);年月日时分秒

      2.获取当前时间

        DateTime dt = DateTime.now;

      3、分别获取年月日时分秒

        dt.Year;  dt.Mouth;  dt.Day;......

      4、星期的第几天,年的第几天

        dt.DayOfWeek;  dt.DayOfYear;

      5、增加多少个月...之后是哪一天,— 号表示之前多少个月是哪一天

        dt.AddMouth(12);  dt.AddMouth(-12);  dt.Add×××();

      6、设定格式

        1、日期时间类型格式

          dt.tostring("yyyy年MM月dd日hh时mm分ss秒");

          yyyy、yy  MM,M  dd,d......

        2、double类型格式     

          double a = 0;
          a.tostring("#,#.00"); //总共四个符号 # 0 , .

          逗号表示三位一分,0表示必须显示,没有就显示0

          #.00  #.##  #,#.##

    数学运算符

      天花板数、地板数、四舍五入

        math.ceiling(3.14);只对小数有效 天花板数 3.0 ==3 3.1 ==4 大于等于当前小数的最小整数  

        math.Floor(3.14); 小于当前小数的最大整数
        math.Round(3.14); 四舍五入

      

    数组中存储的是连续的同一类型的数据。

    一维数组:

    定义:  数据类型[] 数组名 = new 数据类型[数组长度];

         数据类型[] 数组名 = new 数据类型[数组长度]{元素1,元素2,元素3......};

    例如:1、 int[] a = new int[5];

         2、 int[] a = new int[5]{1,2,3,4,5}

    问题:示例 2 中数组长度可不可以不写,请在评论中回答

    说明:

       1、数据类型[]       表示数组类型

          数组名        表示数组变量

          new         表示创建

          数据类型[数组长度]  数组长度不能为空(第一种定义) 

         2、数组下标:用来确定数组中每个元素的位置,数组下标从0开始

       3、数组赋值:数组名[数组下标] = 值   注意数据类型相同

       4、数组取值:变量 = 数组名[数组下标]  注意数据类型相同

       5、数组的遍历:

          for循环遍历数组       

            int[] a = new int[5];

            for(int i = 0;i<a.length;i++)  //a.length表示数组长度

            {              //需要注意数组长度与下标的关系

              Console.WriteLine(a[i]);

            }

          foreach遍历数组       

            int[] a = new int[5];

            foreach(int i in a)

            {

              Console.WriteLine(i);

            }

    具体操作看博客:数组操作

     二维数组

    定义:  数据类型[,] 数组名 = new 数据类型[行数,列数];

         数据类型[,] 数组名 = new 数据类型[3,2]{{1,2},{2,3},{3,4}};

    例如:  int[,] a = new int[3,4];

         ......

    说明:  1、名词解释同一维数组

         2、数组下标同一维数组

         3、数组赋值:数据类型[行下标,列下标] = 值

                a[0,0] = 1;

         4、数组取值:数据类型[行下标,列下标]

         5、数组的遍历:

           for循环遍历数组       

            int[,] a = new int[3,4];

            for(int i = 0;i<3;i++)  

            {    

              for(int j = 0;i<4;j++)  

              {         

                Console.WriteLine(a[i,j]);

              }

            }

     具体操作看博客:二维数组操作

     锯齿数组:数组的数组

    定义:  第一步:定义大数组

           数据类型[][] a= new 数据类型[行数][];  列数不写

         第二步:定义小数组

           数据类型[] a1 = new 数据类型[列数];

           数据类型[] a2 = new 数据类型[列数];

           ......

         第三步:把小数组放到大数组中

           a[0] = a1;

           a[1] = a2;

           ......

    例如:

        int[][] a = new int[3][];

        int[] a1 = new int[] { 3, 4, 5, 6, 7 };
        int[] a2 = new int[] { 1, 2, 3 };
        int[] a3 = new int[] { 7, 8, 9, 10 };

        a[0] = a1;
        a[1] = a2;
        a[2] = a3;

         a.Length == 3;

         其中锯齿数组的  length是3 指的是三个元素,每个元素中还有数组

    二维数组与锯齿数组的比较:

        int[,] a = new int [3][4]; //错
        int[][] a = new int[3,4]; //错
        int[][] a = new int[3][4]; //错
        int[,] c = new int[3,4]; //对

        c.Length == 12;  

        二维数组中的  length 是12  指的是个数

     集合

      1、ArrayList

        链表结构,没有长度限制,可以随时向里添加或删除元素

        需要在前面加上:using System.Collections;

        定义:  ArrayList a = new ArraryList90;

        操作:

          添加:    a.Add(数据);

          插入:    a.Insert(索引号,数据);

          删除:    a.RemoveAt(索引号);

          集合长度:  a.Count //集合中元素的个数

          取值:    a[下标]   //取出来的值需要进行强制转换

      2、List<类型>

        链表结构,没有长度限制,可以随时向里添加或删除元素

        只能放指定类型的数据,取出来不用强制转换

        定义:  List<类型> 变量名= new List<类型>();

             List<int> a = new List<int>();

        操作:

          添加:    a.Add(数据);

          插入:    a.Insert(索引号,数据);

          删除:    a.RemoveAt(索引号);

          集合长度:  a.Count //集合中元素的个数

          取值:    a[下标]  

          排序:    a.Sort();

          反转:    a.Reverse();

      3、Dictionary<key,value>字典或哈希表

        定义:  Dictionary<int,string> a = new Doctionary<int,string>();

        操作:

          添加:    a.Add(键值,数据);

          删除:    a.Remove(键值);

          集合长度:  a.Count;

          取值:    a[键值]

      4、栈,队列 知道就行了

        栈:先进后出,不能随机取其中任意一个值

        定义:  Stack<数据类型> a = new Stack<数据类型>();

          添加:    a.Push(值);

          取值:    数据类型 变量名 = a.Pop();

        队列:先进先出,不能随机取其中任意一个值

        定义:  Queue<int> a = new Queue<int>();

          添加:    a.Enqueue(值);

          取值:    数据类型 变量名 = a.Dequeue();


    函数:
      1、主要功能就是为了让代码结构更加良好
      2、函数是---实现相对独立功能的程序代码模块(程序段)
      3、函数的四要素:函数名、输入、输出、运算
      4、有的函数没有输入,函数名后的小括号可以不写东西,但必须有小括号
      5、有的函数没有返回,在函数名的左侧不要写数据类型,写void即可

      定义语法:
          static 返回类型 函数名(形参列表)
          {
            函数体,运算
          }

      例:
          static int Max(int a,int b)
          {
            if(a > b)
            {
              return a;
            }
            else
            {
              return b;
            }
          }

      调用方法:
        数据类型 变量名 = 函数名(实参列表);
        int n = Max(7,8);

        形参与实参一定要一一对应。 包括 个数,类型

    传值
      把实参的数据做个复本,送到函数的形参中取。
      一般基本类型(int、double、char、bool、DateTime)都是值类型,
      默认情况下会传值

    传址
      吧实参的地址传到函数的形参中区
      形参与实参公用一个数据空间
      一般引用类型都是传址(string 数组)
      string传址 但是操作的话会新建一个

  • 相关阅读:
    axios封装
    python 分析列表中的字典
    python 列表解析学习
    Java常用ORM框架
    Kafka 会不会丢消息?怎么处理的?
    Node.js学习笔记【八】
    Node.js学习笔记【七】
    Node.js学习笔记【六】
    Node.js学习笔记【五】
    Node.js学习笔记【四】
  • 原文地址:https://www.cnblogs.com/yongjiapei/p/5428208.html
Copyright © 2020-2023  润新知