扩展String类
? 因?yàn)?Net Framework中的String類是封閉的,所以我們不能從它進(jìn)行派生來(lái)擴(kuò)展它的功能。
? 雖然String類已經(jīng)提供了很多有用的方法來(lái)讓我們進(jìn)行字符串的處理和操作,但是有時(shí)候一些特殊的的要求還是不能能到滿足。
? 一個(gè)例子就是:假如有一個(gè)因?yàn)榫渥?#xff0c;比如:“how are you”,我們需要把每個(gè)單詞的首字母都改成大寫,當(dāng)然人工改寫很大一篇文章是很費(fèi)力的,但是我們查閱.Net Framework中的String類,又沒有滿足我們需要的處理方法,那么我們就需要自己想辦法擴(kuò)展字符串的功能。
? 既然不能派生,那么我們就寫一個(gè)含有我們需要的方法的類,把這個(gè)方法設(shè)為靜態(tài)方法就可以使用了。
代碼如下:
?2
?3public?class?StringEx
?4{
?5????public?static?string?ProperCase(string?s)
?6????{
?7????????s?=?s.ToLower();
?8????????string?sProper?=?"";
?9????????
10????????char[]?seps?=?new?char[]{'?'};
11????????foreach(string?ss?in?s.Split(seps))
12????????{
13????????????sProper?+=?char.ToUpper(ss[0]);
14????????????sProper?+=?(ss.Substring(1,ss.Length?-?1)?+?'?');
15????????}
16????????return?sProper;
17????}
18}
19
20class?StringExApp
21{
22????static?void?Main(string[]?args)
23????{
24????????string?s?=?Console.ReadLine();
25????????Console.WriteLine("初始字符串為:\t{0}",s);
26????????
27????????string?t?=?StringEx.ProperCase(s);
28????????Console.WriteLine("轉(zhuǎn)化以后的字符串為:\t{0}",t);
29????}
30}
這是一段簡(jiǎn)單的代碼,只是提供一個(gè)思路,為我們以后擴(kuò)展封閉類提供一種選擇。
參考資料:《C#技術(shù)內(nèi)幕》
轉(zhuǎn)載于:https://www.cnblogs.com/wdxinren/archive/2005/05/06/149983.html
總結(jié)
- 上一篇: Android学习摘要一之Android
- 下一篇: 转载:程序员从初级到中级10个秘诀