zoukankan      html  css  js  c++  java
  • C#基础 类及常用函数【string 、Math 、DiteTime 、TimeSpan】

    一  string 类型  

     string str = "abcdefg";


    str.Length  -  字符串长度,返回int类型             

    str.TrimStart()         - 去掉前空格

    str.TrimEnd()           - 去掉后空格

    str.Trim()                - 去掉字符串的前后空格  string                                  //  只能去掉前,后的空格,不能去掉中间的空格

    str.ToUpper();          - 将字符串中的小写英文字符转换成大写 

    str.ToLower();          - 将字符串中的小写英文字符转换成大写

    str.SubString(a);         截取字符串,留下索引a(包含)以后的字符                // 注意索引必须在长度以内否则报错

    str.SubString(a,b);      从索引a(包含)开始截取,截取b个字符

    str.IndexOf("串");         - 返回字符串中第一个匹配项的索引                  

    str.LastIndexOf("串");   - 返回最后一个匹配项的索引               //如果没有匹配项返回-1  

    str.StartWith("串");      - 判断是否以什么开头                            // 返回bool类型

    str.EndsWith("串");      - 判断是否以什么结尾

    str.Contains("串");         - 判断是否包含                                    //不看位置

    str.Replace(“1”, “2”);     - 字符替换 ,用2替换1                          //可以消除字符串中间的空格

    str.Remove(3);                - 移除从索引到末尾的全部字符 

    二 Math 类

    Math.Pow(x,y);                - 次方                   double d = Math.Pow(2.3);

    Math.Sqrt(x);                   - 平方根                d = 2的3次方

    Math.Ceiling(double);       - 取上限                double d = Math.Ceiling(10.3);  d = 11

    Math.Floor(double);          - 取下限

    Math.Round(double);        - 取四舍五入                                        //整数部分奇数时.5上位。整数部分为偶数.5舍去

    Math.Abs(double);            - 取绝对值

    三 DiteTime 类

     1、定义时间(对象实例化)     

     DateTime dt = new DateTime();
     DateTime dt =DateTime.Now;   //获取此电脑系统当前时间
     DateTime dt = new DateTime(int年,int月.int日);  //日期格式

    2、string 转换成 DateTime         

     string s = "2002年2月2日";
     DateTime dt = Console.ToDateTime(s);

    3、DateTime 转换成 string      

     string s = dt.ToString ("yyyy年MM月dd日");                                                                                                    
    //yyyy-年 MM-月 dd-日 hh-12制小时 HH-24制小时 mm-分钟 ss-秒 ms-毫秒

    dt.AddYears();           - 在此时间基础上增加多少年      dt = dt.AddYears(10);    //在原时间的基础上加十年
    dt.AddMonths();         - 增加月
    dt.AddDays();            - 增加日
    dt.AddHours();           - 增加小时
    dt.AddMinutes();        - 增加分钟
    dt.AddSeconds();       - 增加秒

    dt.Year;                     - 获取此时间变量的年份    Console.WriteLine(dt.year);     //只输出年(int类型)
    dt.Month;                  - 获取月份
    dt.Day;                     - 获取日
    dt.Hour;                    - 获取小时
    dt.Minute;                 - 获取分钟
    dt.Second;                - 获取秒
    dt.Millisecond;           - 获取毫秒

    dt.DayOfYear; - 获取当前日期是此年中的第几天       

    Console.WriteLine(dt.DayOfYear);  
    //输出这天是此年的第几天  

    dt.DayOfWeek; - 获取是星期几             

     DateTime dt =DateTime.Now;
     //返回英文格式的星期
     string  a = dt.DayOfWeek;
    
     //获取数字格式的星期   0   1   2   3   4   5   6 
      int  i  =  Convert.ToInt32(dt.DayOfWeek);   
    
    //直接用汉字输出星期  日   一  二  三  四  五  六
      string  xingqi = "星期"+“日一二三四五六”.Substring(i,1);    

    dt.TimeOfDay;   - 获取时间部分      // 只获取时分秒
    dt.Date;            - 获取日期部分

    四  TimeSpan类型  - 时间间隔类型

     DateTime  dt  = new DateTime(2017,3,1); 
     DateTime  dtt  = new DateTime(2017,3,1);
     TimeSpan  ts  =  dtt-dt                                     
    //输出结果为31.00:00:00
    //可为负数
      

    ts.Days                - 差距多少天                      //只取天数
    ts.Hours               - 一天中差距多少小时          //一天中相差多少时间,不比较年月日,只看小时
    ts.Minutes            - 一天中差距多少分钟
    ts.Seconds            - 一天中差距多少秒
    ts.Milliseconds       - 毫秒

    ts.Total....              累计差距    

    ts.TotalHours();        
    //输出一共差多少小时

    实例

    1“请输入您的邮箱:”123@123
     1-“邮箱正确!/错误!”
     2-“只能有一个@符号”
     3-“不能以@开头”
     4-“不能以@结尾”
     5-“@之后必须有点”
     6-“@之后不能是点”
     7- @之后最少一个点,最多两个点
     8-“不能以点结尾”
     9-不能以数字结束

      1
      4                 //1-“邮箱正确!/错误!”    string 放置最终结果
      5                 string end = "邮箱正确!";
      6                 //2-“只能有一个@符号”      bool
      7                 bool atOnlyOne = true;
      8                 //3-“不能以@开头”          bool
      9                 bool atStart = true;
     10                 //4-“不能以@结尾”          bool
     11                 bool atEnd = true;
     12                 //5-“@之后必须有点”        bool
     13                 bool atDian = true;
     14                 //6-“@之后不能是点”         bool
     15                 bool atNoDian = true;
     16                 //7-最少一个点,最多两个点   
     17                 bool dianOneOrTwo = true;
     18                 //8-“不能以点结尾”
     19                 bool dianEnd = true;
     20                 //9-不能以数字结束
     21                 bool NumEnd = true;
     22 
     23                 //一、让用户输入邮箱
     24                 Console.Write("请输入您的邮箱地址:");
     25                 string user_mail = Console.ReadLine();
     26 
     27                 if (user_mail.Length > 0)
     28                 {
     29                     #region 是否只有一个@符号
     30                     int a1 = user_mail.IndexOf("@");
     31 
     32                     if (a1 == -1)
     33                     {
     34                         atOnlyOne = false;
     35                         end = "邮箱格式错误!";
     36                     }
     37                     else
     38                     {
     39                         int a2 = user_mail.IndexOf("@", a1 + 1);
     40                         if (a2 != -1)
     41                         {
     42                             atOnlyOne = false;
     43                             end = "邮箱格式错误!";
     44                         }
     45                     }
     46                     #endregion
     47 
     48                     #region 判断是否以@开头
     49                     if (user_mail.StartsWith("@"))
     50                     {
     51                         atStart = false;
     52                         end = "邮箱格式错误!";
     53                     }
     54                     #endregion
     55 
     56                     #region 判断是否以@结尾
     57                     if (user_mail.EndsWith("@"))
     58                     {
     59                         atEnd = false;
     60                         end = "邮箱格式错误!";
     61                     }
     62                     #endregion
     63 
     64                     #region 判断@之后有没有点,判断如果有点,是不是超过两个
     65                     string a3 = user_mail.Substring(user_mail.IndexOf("@"));
     66                     int a4 = a3.IndexOf(".");
     67                     if (a4 == -1)
     68                     {
     69                         atDian = false;
     70                         end = "邮箱格式错误!";
     71                     }
     72                     else
     73                     {
     74                         //@sina.com.cn
     75                         int a6 = 1; //记录点的个数
     76                         int a5 = a3.IndexOf("."); //获取第一个点的索引
     77 
     78                         while (true)
     79                         {
     80                             a5 = a3.IndexOf(".", a5 + 1);//持续往后找点
     81                             if (a5 != -1)
     82                                 a6++;
     83                             else
     84                                 break;
     85                         }
     86 
     87                         if (a6 > 2)
     88                         {
     89                             dianOneOrTwo = false;
     90                             end = "邮箱格式错误!";
     91                         }
     92                     }
     93                     #endregion
     94 
     95                     #region @之后不能是点
     96                     if (user_mail.IndexOf("@.") != -1)
     97                     {
     98                         atNoDian = false;
     99                         end = "邮箱格式错误!";
    100                     }
    101                     #endregion
    102 
    103                     #region 不能以点结尾
    104                     if (user_mail.EndsWith(".") == true)
    105                     {
    106                         dianEnd = false;
    107                         end = "邮箱格式错误!";
    108                     }
    109                     #endregion
    110 
    111                     #region 不能以数字结束
    112                     string a10 = user_mail.Substring(user_mail.Length - 1, 1);
    113                     try
    114                     {
    115                         Convert.ToInt32(a10);
    116                         NumEnd = false;
    117                         end = "邮箱格式错误!";
    118                     }
    119                     catch { }
    120                     #endregion
    121 
    122                     #region 打印结果
    123                     //打印结果!!!
    124                     if (atOnlyOne == false)
    125                         Console.WriteLine("只能有一个@符号");
    126                     if (atStart == false)
    127                         Console.WriteLine("不能以@开头");
    128                     if (atEnd == false)
    129                         Console.WriteLine("不能以@结尾");
    130                     if (atDian == false)
    131                         Console.WriteLine("@之后必须有点");
    132                     if (atNoDian == false)
    133                         Console.WriteLine("@之后不能是点");
    134                     if (dianOneOrTwo == false)
    135                         Console.WriteLine("最少一个点,最多两个点");
    136                     if (dianEnd == false)
    137                         Console.WriteLine("不能以点结尾");
    138                     if (NumEnd == false)
    139                         Console.WriteLine("不能以数字结束");
    140 
    141                     Console.WriteLine(end);
    142                     #endregion
    143                 }
    144                 else
    145                 {
    146                     Console.WriteLine("邮箱不能为空!");
    147                 }
    148 
    149 150             Console.ReadKey();

    2“请输入身份证号(18位):”
     判断正确性:
     全数字
     最后一位x/X
     中间时间是否正确
     
     “您的生日是:xxxx年xx月xx日”

     1 Console.Write("请输入您的身份证号:");
     2             string user = Console.ReadLine();
     3 
     4             //判断是否是18位
     5             if (user.Length == 18)
     6             {
     7                 string user17 = user.Substring(0, user.Length - 1);
     8 
     9                 try
    10                 {
    11                    Convert.ToInt64(user17);
    12                     //如果能走到这里,说明没问题
    13                     string userLast = user.Substring(user.Length - 1, 1);
    14                     bool LastIsNumber = true;
    15                     try
    16                     {
    17                         Convert.ToInt32(userLast);
    18                     }
    19                     catch { LastIsNumber = false; }
    20 
    21                     //判断最后一位是否正确
    22                     if (userLast.ToLower() == "x" || LastIsNumber )
    23                     {
    24                         //如果走到这里,说明格式都正确
    25                         //判断日期是否正确
    26                         string year = user.Substring(6, 4);
    27                         string month = user.Substring(10, 2);
    28                         string day = user.Substring(12, 2);
    29 
    30                         try
    31                         {
    32                             DateTime dt = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day));
    33 
    34                             Console.WriteLine("您的生日是:"+dt.ToString("yyyy年MM月dd日"));
    35                         }
    36                         catch { Console.WriteLine("身份证日期不正确!"); }
    37                     }
    38                     else
    39                     {
    40                         Console.WriteLine("输入的格式不正确!1");
    41                     }
    42                 }
    43                 catch
    44                 {
    45                     Console.WriteLine("输入的格式不正确!2");
    46                 }
    47             }
    48             else
    49                 Console.WriteLine("身份证位数不正确!3");
    50 
    51             Console.ReadKey();

    3
    “请输入年:”
    “请输入月:”
    “请输入日:”

    判断是否正确

    “xxxx年xx月xx日是此年中的第xx天,星期几”

    “距离2012年12月24日世界末日还有xxx天”
    “距离2012年12月24日世界末日已经过去了xxx天”
    “您输入的是世界末日!!!”

     1 Console.Write("请输入年:");
     2             string year = Console.ReadLine();
     3             Console.Write("请输入月:");
     4             string month = Console.ReadLine();
     5             Console.Write("请输入日:");
     6             string day = Console.ReadLine();
     7 
     8             try
     9             {
    10                 DateTime dt = new DateTime(Convert.ToInt32(year), Convert.ToInt32(month), Convert.ToInt32(day));
    11 
    12                 string week = "星期" + "日一二三四五六".Substring(Convert.ToInt32(dt.DayOfWeek), 1);
    13                 Console.WriteLine(dt.Year + "" + dt.Month + "" + dt.Day + "日是此年中的第" + dt.DayOfYear + "天," + week);
    14 
    15                 DateTime dtt = new DateTime(2012, 12, 24);
    16 
    17                 TimeSpan ts = dt - dtt;
    18 
    19                 int ddd = Convert.ToInt32(ts.TotalDays);
    20 
    21                 if (ddd < 0)
    22                 {
    23                     Console.WriteLine("距离2012年12月24日世界末日还有" + Math.Abs(ddd) + "");
    24                 }
    25                 else if (ddd > 0)
    26                 {
    27                     Console.WriteLine("距离2012年12月24日世界末日已经过去了" + ddd + "");
    28                 }
    29                 else
    30                 {
    31                     Console.WriteLine("您输入的是世界末日!!!");
    32                 }
    33             }
    34             catch { Console.WriteLine("你填的些啥???"); }
    35 
    36 
    37 
    38             Console.ReadLine();
  • 相关阅读:
    Java编程练习(四)——集合框架应用
    89. Gray Code (Java)
    加解密算法
    Cookie、Session和Token
    87. Scramble String (Java)
    51. N-Queens (JAVA)
    85. Maximal Rectangle (JAVA)
    84. Largest Rectangle in Histogram (JAVA)
    81. Search in Rotated Sorted Array II (JAVA)
    77. Combinations (JAVA)
  • 原文地址:https://www.cnblogs.com/Tanghongchang/p/6481094.html
Copyright © 2011-2022 走看看