2011-03-15 47 views
3

我每次都在C#的String.Join和String.Split參數類型上行。問題是String.Split需要params char[]字符數組,而String.Join需要stringString.Join和String.Split參數助記符

有沒有人有一個很好的記憶,可以幫助我記住這需要它,所以我沒有解決這個每一次我做字符串操作?

[編輯,因爲每個人都似乎是困惑,爲什麼我沒有IDE支持]

我使用LinqPad,這樣,當我使用這個大部分的時間:

String.Join("\n", @"LongRawString 
WithPlentyOfLines 
UsuallyGeneratedBySomeoneElse 
OrProducedBySqlServerForExample".Split('\n').Select(x => 
    { 
     x = x.Trim(); 

     //create line of code, like: 
     return "int longRawStringIdx = reader.GetOrdinal(\"LongRawString\")"; 
    })) 

我沒有在LinqPad中獲得IDE支持,並且想要保存我每次回去修復的時間。這很愚蠢,但我們程序員編寫的腳本中有一半是自動完成我們每天執行的12秒任務。

的問題是,我搞砸了我是否我應該是給SplitstringJoinstring作爲第一個參數(或僅在Split的情況下)。

+1

究竟是什麼問題? IDE顯示可接受的參數... – 2011-03-15 11:58:12

+0

您可以隨時定義自己的擴展方法並使其正常工作,但是您需要 – Blorgbeard 2011-03-15 11:59:59

+0

String.Join是靜態的,另一個不是,是不是足夠了解您的知識? – 2011-03-15 12:00:08

回答

5

你可以認爲它是這樣的:你指定一個東西加入,但幾個可能的分隔符分割上。這樣做有意義,因爲輸入字符串可能已經有許多分隔符,但加入多個分隔符是沒有意義的,因爲Join方法必須計算出每次您指的是哪個分隔符。

雖然我只是使用Intellisense :)

+0

這非常有幫助。謝謝喬恩。我來自一個C++/Python NLP背景,在這個背景下,我們或者推出了我們自己的Split/Join(在C++中,因爲我們處理大量數據),或者我們使用了Python Split/Join,這很奇怪,我記得他們立即。 – Crisfole 2011-03-15 12:14:24