C#語言——類

来源:http://www.cnblogs.com/H2921306656/archive/2016/06/25/5616984.html
-Advertisement-
Play Games

C#——類 一、String 類 系統內置的處理字元串類型的函數方法類。方便我們對字元串類型進行一系列的處理。 1、Length:獲取字元串的長度,返回一個int類型的值 string x=Console.ReadLine();//小string是大String的快捷方式 int i = x.Len ...


C#——類

一、String 類

系統內置的處理字元串類型的函數方法類。方便我們對字元串類型進行一系列的處理。

1、Length:獲取字元串的長度,返回一個int類型的值

string x=Console.ReadLine();//小string是大String的快捷方式

int i = x.Length; Console.Write(i);

Console.ReadLine();

2、.Trim()     去掉開頭以及結尾的空格;.TrimStart()   去掉字元串開頭的空格;.TrimEnd()       去掉字元串後面的空格。

                       

 

 

 

3、.ToUpper() 全部大寫;.ToLower()    全部小寫。

 

4、Substring(起始位置,截取長度);Substring(起始位置)  只寫起始位置,可以截取到尾。

註:字元串的編碼索引是從0開始的。

 

5、IndexOf("字元串")    返回第一次出現此字元串的索引,查找開頭第一次出現的索引號,返回值為-1.表示沒有找到。

LastIndexOf("字元串")        返回最後一次出現此字元串的索引。

6、StartsWith("字元串")        是否以此字元串為開頭,返回True或False。

EndsWith("字元串")   是否以此字元串為結尾,返回True或False。

Contains("字元串")     是否包含此字元串。返回True或者False。

7、Replace("老字","新字")   將老字用新字替換,即替換所有符合指定段的字元串條件的字元串(查找替換功能)。

綜上例題:判斷郵箱格式是否正確:1.有且只能有一個@;2.不能以@開頭;3.@之後至少有一個.;4.@和.不能靠在一起;5.不能以.結尾。

法一:      Console.Write("請輸入您的郵箱賬號:");

            string mail = Console.ReadLine();

            if (mail.Contains("@"))

            {

                int a = mail.IndexOf("@");

                int b = mail.LastIndexOf("@");

                if (a == b)

                {

                    if (!mail.StartsWith("@"))

                    {

                        string mail1 = mail.Substring(a);

                        if (mail1.Contains("."))

                        {

                            //[email protected]

                            if (mail1.IndexOf(".") != 1 && mail.Substring(a - 1, 1) != ".")

                            {

                                if (!mail.EndsWith("."))

                                {

                                    Console.WriteLine("輸入的郵箱格式正確!您輸入的賬號是:" + mail);

                                }

                                else

                                {

                                    Console.WriteLine("格式錯誤!");

                                }

                            }

                            else

                            {

                                Console.WriteLine("格式錯誤!");

                            }

                        }

                        else

                        {

                            Console.WriteLine("格式錯誤!");

                        }

                    }

                    else

                    {

                        Console.WriteLine("格式錯誤!");

                    }

                }

                else

                {

                    Console.WriteLine("格式錯誤!");

                }

            }

            else

            {

                Console.WriteLine("格式錯誤!");

            }

            Console.ReadLine();

法二、      Console.Write("請輸入一個郵箱:");

            string s = Console.ReadLine();

            bool j = s.Contains("@");

            int a = s.IndexOf("@");

            int b = s.LastIndexOf("@");

            bool i = true;

            bool c = s.StartsWith("@");

            string d = s.Substring(a);

            bool e = d.Contains(".");

            int f = s.IndexOf(".");

            int g = s.LastIndexOf(".");

            bool h = s.EndsWith(".");

            if (j == i && a == b && f != a - 1 && g != b - 1 && c != i && e == i && h != i)

            {

                Console.WriteLine("格式正確");

            }

            else

            {

                Console.WriteLine("格式錯誤");

            }

            Console.ReadLine();

二、Math 類

●Ceiling()            取上線

●Floor()                     取下線

●Math.PI                    圓周率

●Math.Sqrt()        平方根

●Math.Round()            四捨五入(註意奇數偶數下.5不一樣的結果)

 

三、隨機數類:Random

需要使用隨機數的時候需要先初始化

            Random ran = new Random();//初始化

            int a = ran.Next(10);//返回0-9範圍內的數

            Console.WriteLine(a);

綜上例題:驗證碼:隨機出四位驗證碼,A~Z    a~z    0~9,不區分大小寫。

法一、      string ss = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

            Random s = new Random();

            int a = s.Next(62);

            int b = s.Next(62);

            int c = s.Next(62);

            int d = s.Next(62);

            string aa = ss.Substring(a, 1);

            string bb = ss.Substring(b, 1);

            string cc = ss.Substring(c, 1);

            string dd = ss.Substring(d, 1);

            string ee = aa + bb + cc + dd;

            Console.WriteLine("驗證碼是:" + ee);

            Console.Write("請對照輸入驗證碼:");

            string shu = Console.ReadLine();

            if (shu.ToUpper() == ee.ToUpper())

            {

                Console.WriteLine("輸入正確!");

            }

            else

            {

                Console.WriteLine("輸入錯誤!");

            }

            Console.ReadLine();

法二、      string ss = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

            Random s = new Random();

            string yan = "";

            for (int i = 1; i <= 4; i++)

            {

                int a = s.Next(62);

                yan += ss.Substring(a);

 

            }

            Console.WriteLine("驗證碼是:" + yan);

            Console.Write("請對照輸入驗證碼:");

            string shu = Console.ReadLine();

            if (shu.ToUpper() == yan.ToUpper())

            {

                Console.WriteLine("輸入正確!");

            }

            else

            {

                Console.WriteLine("輸入錯誤!");

            }

            Console.ReadLine();

四、DateTime類  獲取時間

1、●若需要使用,首先需要初始化

            DateTime dt = new DateTime();

            Console.Write(" 請輸入一個日期時間:****/**/** **:**:**");

            dt = DateTime.Parse( Console.ReadLine());

●若直接獲取當前時間,不用進行初始化

            DateTime dt1 = DateTime.Now;

            Console.WriteLine(dt1);

●獲取這一天是星期幾 DayOfWeek d = dt.DayOfWeek;獲取到的是英文。若想用中文,先d.ToString(),然後根據英文列印出中文。

●DayOfYear 獲取日期是當年的第幾天,返回int類型值

 

 

2、在控制台輸入的格式必須符合DateTime的格式才能正確接收

 

3、s = dt.ToString("yyyy年MM月dd日hh時mm分ss秒");

yyyy MM dd hh mm ss 均為代位符

yyyy年,MM月(必須大寫),dd日,hh時,mm分(小寫),ss(秒)

 

4、DateTime可以增加或者減去相應的時間

Add()             增加或者減去一定的時間間隔

AddYears()   增加或減去年份

AddMonths()        增加或減去月份

AddDays()    增加或減去天數

以此類推。

註意,加減天數,小時數是利用double類型。其他都是int類型

 

 

 

5、TimeSpan

 

            TimeSpan time = new TimeSpan(10, 10, 10, 10);

            Console.WriteLine(dt1.Add(time));

6、 獲取年                dt.Year

獲取月                dt.Month

獲取日                dt.Day

獲取小時            dt.Hour

獲取分                dt.Minute

獲取秒                dt.Second

            Console.WriteLine(dt1.Hour);

            DayOfWeek dw = dt1.DayOfWeek;

            switch (dw.ToString())

            {

                case "Monday":

                    Console.WriteLine("星期一");

                    break;

            }

例題:輸入兩個時間日期,計算出相差多少天(TotalDays)

            Console.Write("請輸入你們戀愛的時間:");

            DateTime dt = DateTime.Parse(Console.ReadLine());

            DateTime dt1 = DateTime.Now;

            Console.WriteLine((dt1-dt).TotalDays);

五、try   catch:異常保護語句

            Console.Write("請輸入一個整數:");

            try//嘗試

            {

                int a = int.Parse(Console.ReadLine());

                Console.WriteLine(a);

            }

            catch//若try裡面的語句有問題,直接跳到catch執行

            {

                Console.WriteLine("程式出現錯誤!");

            }

            finally//不管對與錯,都要執行

            {

                Console.WriteLine("感謝您的使用!");

            }

            Console.WriteLine("感謝您的使用!");

例題:判斷輸入的年月日格式是否正確

法一、DateTime

            Console.Write("請按照格式正確輸入年月日(yyyy/MM/dd)");

            string td = Console.ReadLine();

            DateTime dt = new DateTime();

            dt = DateTime.Parse(td);

            string s;

            s = dt.ToString("yyyy年MM月dd日");

            string y = s.Substring(0, 4);

            string M = s.Substring(5, 2);

            string d = s.Substring(8, 2);

            int iy = int.Parse(y);

            int iM = int.Parse(M);

            int id = int.Parse(d);

            int rm = 1;

            if (iy % 100 == 0)

            {

                if (iy % 400 == 0)

                {

                    rm = 4;

                }

            }

            else if (iy % 4 == 0)

            {

                rm = 4;

            }

            if (iy > 1 && iy <= 9999 && iM >= 1 && iM <= 12 && id >= 1 && id <= 31)

            {

                if (iM == 4 || iM == 6 || iM == 9 || iM == 11 && id >= 30)

                {

                    Console.Write("輸入錯誤");

                }

                else if (iM == 2 && id == 29 && rm != 4)

                {

                    Console.Write("輸入錯誤!:" + iy + "年不是閏年,2月沒有29號");

                }

                else if (iM == 2 && id >= 29)

                {

                    Console.Write("輸入錯誤");

                }

                else

                {

                    Console.WriteLine(s);

                    Console.WriteLine("輸入正確!");

                }

            }

            Console.ReadLine();

法二、try-catch異常語句

            Console.Write("請輸入日期時間:");

            try

            {

                DateTime dt = DateTime.Parse(Console.ReadLine());

                Console.WriteLine("您輸入的日期時間格式正確!");

            }

            catch

            {

                Console.WriteLine("您輸入的日期時間有誤!");

            }

            Console.WriteLine("感謝您的使用!再見!");

            Console.ReadLine();

 

 

綜合例題:1、輸入一個1-100內的整數,若輸入錯誤請重新輸入

法一、      Console.Write("請輸入一個數:");

            int a = int.Parse(Console.ReadLine());

            for (int i = 1; ; i++)

            {

                if (a <= 100 && a >= 1)

                {

                    Console.WriteLine(a);

                    break;

                }

                else

                {

                    Console.Write("請重新輸入一個數:");

                    a = int.Parse(Console.ReadLine());

                }

            }

            Console.ReadLine();

法二        Console.Write("請輸入一個數:");

            int a = int.Parse(Console.ReadLine());

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

            {

                if (a <= 100 && a >= 1)

                {

                    Console.WriteLine(a);

                }

                else

                {

                    Console.Write("請重新輸入一個數:");

                    a = int.Parse(Console.ReadLine());

                    i--;

                }

            }

            Console.ReadLine();

2、輸入年月日,判斷日期格式是否正確,不正確,重新輸入。

            Console.Write("請輸入年份:");

            int a = int.Parse(Console.ReadLine());

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

            {

                if (a >= 0 && a <= 9999)

                {

                    Console.Write("請輸入月份:");

                    int b = int.Parse(Console.ReadLine());

                    for (int j = 0; j < 1; j++)

                    {

                        if (b > 0 && b <= 12)

                        {

                            Console.Write("請輸入日:");

                            int c = int.Parse(Console.ReadLine());

                            for (int k = 0; k < 1; k++)

                            {

                                if (c > 0 && c <= 31)

                                {

                                    if (b == 1 || b == 3 || b == 5 || b == 7 || b == 8 || b == 10 || b == 12)

                                    {

                                        Console.WriteLine("您輸入的日期格式正確!輸入的日期是:{0}-{1}-{2}", a, b, c);

                                    }

                                    else if (b == 4 || b == 6 || b == 9 || b == 11)

                                    {

                                        for (int l = 0; l < 1; l++)

                                        {

                                            if (c <= 30)

                                            {

                                                Console.WriteLine("您輸入的日期格式正確!輸入的日期是:{0}-{1}-{2}", a, b, c);

                                            }

                                            else

                                            {

                                                Console.Write("請重新輸入日份:");

                                                c = int.Parse(Console.ReadLine());

                                                l--;

                                            }

                                        }

                                    }

                                    else

                                    {

                                        if (c <= 28)

                                        {

                                            Console.WriteLine("您輸入的日期格式正確!輸入的日期是:{0}-{1}-{2}", a, b, c);

                                        }

                                        else

                                        {

                                            for (int r = 0; r < 1; r++)

                                            {

                                                if (c == 29)

                                                {

                                                    for (int t = 0; t < 1; t++)

                                                    {

                                                        if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)

                                                        {

                                                            Console.WriteLine("您輸入的日期格式正確!輸入的日期是:{0}-{1}-{2}", a, b, c);

                                                        }

                                                        else

                                                        {

                                                            Console.Write("請重新輸入年份:");

                                                            a = int.Parse(Console.ReadLine());

                                                            t--;

                                                        }

                                                    }

                                                }

                                                else

                                                {

                                                    Console.Write("請重新輸入日份:");

                                                    c = int.Parse(Console.ReadLine());

                                                    r--;

                                                }

                                            }

                                        }

                                    }

                                }

                                else

                                {

                                    Console.Write("請重新輸入日份:");

                                    c = int.Parse(Console.ReadLine());

                                    k--;

                                }

                            }

                        }

                        else

                        {

                            Console.Write("請重新輸入月份:");

                            b = int.Parse(Console.ReadLine());

                            j--;

                        }

                    }

                }

                else

                {

                    Console.Write("請重新輸入年份:");

                    a = int.Parse(Console.ReadLine());

                    i--;

                }

            }

            Console.ReadLine();


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 國內知名B2C系統  Urselect 很不錯的asp.net 架構參考與nopCommerce abp等國外開源系統,針對國內定製,採用領域模型設計,不過該系統很適合企業做B2C,品牌電商,商城操作簡單實用,功能也相當強大,是目前.net 系統裡面技術實力較強的後起之秀。 ...
  • 0. 沒有找到一款中意的分頁插件,又不想使用現成的(醜到爆),所以自己動手造一個吧 先看下效果(其實也不咋滴...): 我的小站地址:我的Bootstrap小站; PS:(問博客園:為什麼老是刪我的置頂隨便?上一篇閱讀量都快500了,也分分鐘給我從首頁刪掉...真是無語了<博客園地址:http:// ...
  • 第一次寫,小緊張! 即將畢業了,現在將我畢業設計中用到的小的編程技術以及自己的一些理解分享出來,希望可以做點小貢獻。 首先要感謝網上各路大神無私的分享,沒有你們,就沒有我的收穫。 在大四之前,對於編程只是學習過簡單的C語言,從來沒有接觸過工程實踐。最後的畢業設計肯定要開發程式,於是認真學習了一段時間 ...
  • Async in C# 5.0(C#中的非同步編程Async) 蝸牛翻譯之第一章 ...
  • 交流QQ群 ASP.NET鷹組 460845632 我會傾囊相授 我們要做微信支付當配置好微信微信商戶和支付配置之後我們首先應該看 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1# 這是微信統一下單的參數,我將這個參數做成 ...
  • 1 /// <summary> 2 /// ************************************************* 3 /// 類名:MP3幫助類 4 /// 修改日期:2016/06/25 5 /// 作者:董兆生 6 /// 聯繫方式:QQ490412323 7 // ...
  • 在FormPanel中按回車按鍵,會觸發預設按鈕的click事件。設置方法為在FormPanel中設置DefaultButton屬性,如果沒有設置這個屬性,預設為最後一個按鈕。 1.預設最後一個按鈕為預設按鈕 2.以數字編號指點預設按鈕 3.用ID指定預設按鈕 4.用選擇器指定預設按鈕 視圖的完整代 ...
  • 使用VS2015進行C++開發的6個主要原因 使用Visual Studio 2015進行C++開發 在今天的 Build 大會上,進行了“將你的 C++ 代碼轉移至 VS2015 的 6 個原因”的演講,其中探討了 VS2015 中對於 C++ 開發者們更有用的新功能。自從它在 2015 年七月的 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...