C#入門——字符串處理方法(格式化輸出)

        這年頭,寫點東西其實也挺不容易的,不少文章你們都只是爲了作個筆記,而我這種,如今不太須要什麼筆記,可是真正要專門寫點什麼,卻又發現該寫的都讓人寫完了,因而仍是從最基本的控制檯應用程序開始來說一講字符串的基本處理方法。api

        C#開發的應用程序絕大多數都在處理文字信息,其實說白了就是字符串的處理,不知道是否是由於講師大多從C++或者Java語言過來的緣故,不少開發者一用到字符串處理,就開始用加號:微信

string str = "Hello";
string result = str + " " + name;

        雖然這種寫法也不算錯,可是在C#語言(不要討論是ASP.NET平臺提供仍是C#語言提供)中,確實提供不少字符串處理方法,讓咱們更能以有效地簡潔地方式處理字符串。app

        咱們首先來看一段代碼:微信公衆平臺

string name = Console.ReadLine();
Console.WriteLine("Hello {0}", name);

        輸入:Jerryspa

        輸出:Hello Jerrycode

        這種輸出咱們稱之爲格式化輸出,即:咱們先定義整個字符串的格式,而後把參數像填空同樣,填寫完善,最後輸出。orm

        爲了顯示更多比較靈活的應用,咱們改用string.Format方法來進行字符串的格式化:blog

string name = Console.ReadLine();
string result = string.Format("Hello {0}", name);
Console.WriteLine(result);

        輸出的結果,沒有任何的變化,也就是說Format方法也能幫咱們把事先定義好的字符串進行格式化。接口

        接下來咱們看幾段代碼,來分析格式化輸出定義的具體含義:開發

        1.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {0}, {1}", name, welcome);
Console.WriteLine(result);

        輸入:Jerry

        輸出:Hello Jerry,welcome to C#

        2.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {1}", name, welcome);
Console.WriteLine(result);

        輸入:Jerry

        輸出:Hello welcome to C#

        3.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {0}", name, welcome);
Console.WriteLine(result);

        輸入:Jerry

        輸出:Hello Jerry

        4.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {1}", name);
Console.WriteLine(result);

        輸入:Jerry

        輸出:沒有輸出,報異常了

        若是你一個一個驗證過這些代碼,第四段代碼的確報錯了,那麼總結下來,{n}應該算是定義格式化字符串的佔位符,n表示後續參數的位置,n從0開始,若是0超出後續參數個數,則會報錯。

        既然{n}表示格式化,若是我有輸出花括弧符號"{}"的需求該怎麼辦呢?再來看兩段代碼:

        1.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {{0}}, {1}", name, welcome);
Console.WriteLine(result);

        輸入:Jerry

        輸出:Hello {0},welcome to C#


        2.

string name = Console.ReadLine();
string welcome = "welcome to C#";
string result = string.Format("Hello {{{0}}}, {1}", name, welcome);
Console.WriteLine(result);

        輸入:Jerry

        輸出:Hello {Jerry},welcome to C#

        由此咱們發現,在格式化方法中,{{}}會被解釋爲一對{}。

        那麼,這些內容究竟有哪些用途呢?若是沒有記錯,微信公衆平臺的用戶受權接口地址給的是:

         https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

        咱們能夠將此字符串簡化爲:

        https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={{0}}&response_type={1}&scope={2}&state={3}#wechat_redirect

        首次處理,咱們能夠格式化appid、response_type、scope、state獲得一下結果

        https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx_your_id&redirect_uri={0}&response_type=code&scope=snsapi_userinfo&state=param_state#wechat_redirect

        接下來,咱們在不一樣的頁面須要獲取受權的話,即可將該結果,進行再次format,以便獲得受權以後跳轉到咱們制定的不一樣頁面。

        固然,格式化還有不少不一樣的格式,以及用途,再也不逐個講解,其餘的格式化(好比格式化保留幾位小數,格式化時間等等)能夠等你用到的時候再進行查詢。但願以此拋磚引玉。

相關文章
相關標籤/搜索