一 string 類型 ?
變量.Length? -? 字符串長度,返回int類型?????????????? string s = "abcdefg";
??????????????????????????????????????????????????????????????????????int a = s . Length;
??????????????????????????????????????????????????????????????????? ??Console.WriteLine(a);???????// 輸出結果為:7(此字符串有7個字符)
???????????????????????????????????????????????????????????????????????????????????????????????????????????//??Length返回有多少個字符,不是字符的索引,索引從0開始
變量.TrimStart()??????? ?- 去掉前空格
變量.TrimEnd()???????? ? - 去掉后空格
變量.Trim()??????????????? - 去掉字符串的前后空格? string????????????????????????????????? //??只能去掉前,后的空格,不能去掉中間的空格
?
變量.ToUpper();??????? ? - 將字符串中的小寫英文字符轉換成大寫
變量.ToLower();??????? ? - 將字符串中的小寫英文字符轉換成大寫
變量.SubString(a);??????? ?截取字符串,留下索引a(包含)以后的字符????????????????// 注意索引必須在長度以內否則報錯
變量.SubString(a,b);?? ? ?從索引a(包含)開始截取,截取b個字符
?
變量.IndexOf("串");??? ??? ?- 返回字符串中第一個匹配項的索引???????????string s = "今天天氣轉暖了";?????????????
變量.LastIndexOf("串"); ??- 返回最后一個匹配項的索引????????????????? ? int a = s.IndexOf("天");???????????????????????????? //獲得第二個匹配項
??????????????????????????????????????????????????????????????????????????????????????????? ?int b = s.IndexOf("天",s.IndexOf("天")+1);? //獲得第二個匹配項
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? //如果沒有匹配項返回-1??
變量.StartWidth("串");??? ??- 判斷是否以什么開頭?????????????????????????? ?// 返回bool類型
變量.EndsWidth("串");????? - 判斷是否以什么結尾
變量.Contains("串");???????? - 判斷是否包含??????????????????????????????????? //不看位置
?
變量.Replace(“1”, “2”);???? - 字符替換?,用2替換1?????????????????????? ? ?//可以消除字符串中間的空格
?
s.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 類
?定義時間(對象實例化)?????DateTime 變量名 = new DateTime();
???????????????????????????????????????????????????DateTime 變量名 =DateTime.Now;?????????????????????????????????? - 獲取此電腦系統當前時間
?????????????????????????????????????????????????? DateTime 變量名 = new DateTime(int年,int月.int日);?????????? -日期格式
?
string 轉換成 DateTime????????? string s = "2002年2月2日";
??????????????????????????????????????????DateTime?dt = Console.ToDateTime(s);
?
DateTime 轉換成 string?????? string s = dt.ToString ("yyyy年MM月dd日");
??????????????????????????????????????????????????????????????????????????????????????????????????????????? //yyyy-年 MM-月 dd-日 hh-12制小時 HH-24制小時 mm-分鐘 ss-秒? ms-毫秒
.AddYears();?????????? - 在此時間基礎上增加多少年????? dt = dt.AddYears(10);????//在原時間的基礎上加十年
.AddMonths();??????? ?- 增加月
.AddDays();??????????? - 增加日
.AddHours();????????? ?- 增加小時
.AddMinutes();??????? - 增加分鐘
.AddSeconds();?????? - 增加秒
?
.Year;???????????????????? - 獲取此時間變量的年份?? ?Console.WriteLine(dt.year);???? //只輸出年(int類型)
.Month;??????????????? ? - 獲取月份
.Day;???????????????????? - 日
.Hour;????????????????? ? - 小時
.Minute;???????????? ?? ?- 分鐘
.Second;????????????? ??- 秒
.Millisecond;?????????? - 毫秒
.DayOfYear; - 獲取當前日期是此年中的第幾天?????? Console.WriteLine(dt.DayOfYear);? //輸出這天是此年的第幾天??
?
.DayOfWeek; - 獲取是星期幾??????????? ?DateTime?dt =DateTime.Now;
??????????????????????????????????????????????????? ?string ?a = dt.DayOfWeek;????????????????????????????????????????????? ?//返回英文格式的星期
???????????????????????????????????????????????????? int? i? =? Convert.ToInt32(dt.DayOfWeek);???????????????????? ? ?// 獲取數字格式的星期??????? 0?? 1? ?2? ?3? ?4?? 5?? 6?
?????????????????????????????????????????????????????string? xingqi = "星期"+“日一二三四五六”.Substring(i,1);??? //直接用漢字輸出星期??????? 日? ?一? 二? 三? 四? 五? 六
.TimeOfDay;? ?- 獲取時間部分???? ?//?只獲取時分秒
.Date;??????????? - 獲取日期部分
?
?
四? TimeSpan類型 ?- 時間間隔類型
?????????????????????????? DateTime? dt? = new DateTime(2017,3,1);?
???????????????????????????DateTime? dtt? = new DateTime(2017,3,1);
???????????????????????????TimeSpan? ts? =? dtt-dt??????????????????????????????????? ?//輸出結果為31.00:00:00
??????????????????????????????????????????????????????????????????????????????????????????????? ? //可為負數
.Days?????????????? ?- 差距多少天????????????????????? //只取天數
.Hours?????????????? - 一天中差距多少小時????????? //一天中相差多少時間,不比較年月日,只看小時
.Minutes??????????? - 一天中差距多少分鐘
.Seconds?????????? ?- 一天中差距多少秒
.Milliseconds?????? - 毫秒
?
.Total....????????????? 累計差距??????? Console.WriteLine(ts.TotalHours());??????? //輸出一共差多少小時
?
?
案例分析
1“請輸入您的郵箱:”123@123
?1-“郵箱正確!/錯誤!”
?2-“只能有一個@符號”
?3-“不能以@開頭”
?4-“不能以@結尾”
?5-“@之后必須有點”
?6-“@之后不能是點”
?7- @之后最少一個點,最多兩個點
?8-“不能以點結尾”
?9-不能以數字結束
1 2 3 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();
?