小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

C#中使用string.Split方法來(lái)分割字符串的注意事項(xiàng):

 shymi 2010-09-30
C#中使用string.Split方法來(lái)分割字符串的注意事項(xiàng):
string.Split
給我們提供了非常靈活的使用方式, 但是如果使用不當(dāng), 會(huì)造成錯(cuò)誤, 最近在做code review時(shí), 看到大部分人這么使用:
            string s = "A|B|:|C:D";
            string[] ss = s.Split("|:|".ToCharArray());
            //ss[0]: A
            //ss[1]: B
            //ss[2]:
            //ss[3]:
            //ss[4]: C
            //ss[5]: D
其實(shí)他的本意是使用|:|將字符串分開(kāi)的, 目標(biāo)是為了得到數(shù)組: A|B C:D, 但是沒(méi)有直接找到Split(string)的重載, 所有就是用了ToCharArray(), 很顯然, 得到的結(jié)果是錯(cuò)誤的.

正確的用法為:
            string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.None);
            //ss1[0]: A|B
            //ss1[1]: C:D

后一個(gè)參數(shù), 是標(biāo)志是否自動(dòng)remove empty的數(shù)據(jù). 例如: "A|B|:|C:D|:|" 做分割時(shí), 會(huì)返回三個(gè)數(shù)組, 該數(shù)組的最后一個(gè)元素是空"", 如果我們想過(guò)濾掉這些空的元素, 可以使用參數(shù): StringSplitOptions.RemoveEmptyEntries : string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.RemoveEmptyEntries);

例子:

            s = "A|B|:|C:D|:|";
            string[] ss1 = s.Split(new[] {"|:|"}, StringSplitOptions.RemoveEmptyEntries);
            //ss1[0]: "A|B"
            //ss1[1]: "C:D"

            ss1 = s.Split(new[] { "|:|" }, StringSplitOptions.None);
            //ss1[0]: "A|B"
            //ss1[1]: "C:D"
            //ss1[2]: ""

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多