2016-03-17 76 views
0

我遇到以下問題。分隔連接列

我從sql存儲過程接收一些列。 在接口中以xls的格式導出後,我們在連接後將一些信息記錄到一個sql表中。 在c#我們串接一定數量使用string.format方法列: 例如:

string.Format("{0}+{1}", "column1", "column2"); 

output: column1column2 

我希望能夠插入管道或列之間的任何其它字符。 輸出建議立即進行刪除是這樣的:的

column1|column2 
+3

'的String.Format( 「{0} + {1}」, 「column1」,「column2」);'不能給你'column1column2'。 –

+0

拯救我們不被猜測。是'column1'和'column2'變量還是字符串常量? –

+0

這些列是來自存儲過程中的sql查詢的變量。我們將這些列連接在一起並將其發送到sql中的表中。在此列中收到的格式是column1column2。 請不要說,我現在是c#的絕對新手.. – Sorin

回答

2

IMO string.Format("{0}+{1}", "column1", "column2");應該輸出column1+column2代替column1column2

插入你的價值觀之間的管道,你只需要更換+

string.Format("{0}|{1}", "column1", "column2"); 
+0

這個和其他每個變化都給出了sintax或操作數錯誤。 – Sorin

5

這是String.Join的目的。

String.Join documentation on MSDN

string[] columns = {"column1", "column2"}; 
string output = String.Join("|", columns); 
//output now contains : "column1|column2" 
+0

string.join的問題是它只帶來表的列名。不是他們的信息。 這和事實,我不能隱式地將字符串轉換爲system.datacolumn – Sorin

+0

@Sorin你從來沒有提到使用'system.datacolumn'。 如果您打算將數據列的實際值添加到輸出中,則可能需要查看如何迭代數據行。 (假設你正在使用'system.dataset'或'system.datatable'),但我認爲這超出了這個問題的範圍。 –

1

我認爲column1和「columns2`是變量,那麼你需要的是:

string.Format("{0}|{1}", column1, column2); 

這對於2325值,例如,會給你輸出爲23|25

0
var column1 = "column1"; 
var column2 = "column2"; 
var delimiter = "|"; 

var result = string.Format("{0}{1}{2}", column1, delimiter, column2); 

Console.WriteLine(result); 

//輸出

column1|column2 
0

如果使用C#6.0還可以使用串內插

var result = $"{column1}|{column2}";