之前因為工作上有需求
必須將一長串的字串進行反轉.然後對照另一個字串
由於工作上都是紙本作業.所以再把"字串反轉"這件事情上來講
就顯得很耗時間 因為那串字串並不是十幾二十個字而已
所以~就有了如何把字串進行處理 讓他前後顛倒的小程式測試
首先呢 反正佈局大概就是兩個文字 一個負責輸入要反轉的字串
一個就是把結果輸出
畫面大略如下
反轉的處理如下
//取得來源字串
|
在這裡要說明的是
字串物件必須透過迴圈的方式將元素逐一取出
因此如果字串的長度較大 就會形成轉換成陣列時 必須以較大的陣列容納 在逐一取出
而對效能的影響就不可說不大
因此~改良版出現了....
//取得來源字串 string SRC = textBox1.Text; //將取得的字串 轉換成陣列 char[] ArraySRC = SRC.ToCharArray(); //反轉整個字串陣列的順序 Array.Reverse(ArraySRC); //透過初始化將已經反轉的陣列值 再轉換為 字串 SRC = new string(ArraySRC); //輸出結果 textBox2.Text = SRC; |
好吧~我承認有點傷害大家的感情
整個程式碼只有黃色部分取代了之前的迴圈
透過new 關鍵字的宣告 重新宣告 SRC為一個字串物件 而且指定其來源為ArraySRC 也就是已經被我們反轉過順序的陣列
透過這樣的方法 我們只要直接將"新的"SRC取出他的字串就可以了 而不需要使用迴圈的方式
當然這是只有在反轉整段字串時才有用的方法 如果程式需要做比對或者判斷.或者替代~當然還是免不了要使用迴圈
有興趣的朋友可以將上面兩段程式碼進行測試
然後給一段很長的字串(幾百個字就行了)進行測試 就可以發現其效能上的差異了
留言列表