我遇到以下問題。分隔連接列
我從sql存儲過程接收一些列。 在接口中以xls
的格式導出後,我們在連接後將一些信息記錄到一個sql表中。 在c#
我們串接一定數量使用string.format
方法列: 例如:
string.Format("{0}+{1}", "column1", "column2");
output: column1column2
我希望能夠插入管道或列之間的任何其它字符。 輸出建議立即進行刪除是這樣的:的
column1|column2
我遇到以下問題。分隔連接列
我從sql存儲過程接收一些列。 在接口中以xls
的格式導出後,我們在連接後將一些信息記錄到一個sql表中。 在c#
我們串接一定數量使用string.format
方法列: 例如:
string.Format("{0}+{1}", "column1", "column2");
output: column1column2
我希望能夠插入管道或列之間的任何其它字符。 輸出建議立即進行刪除是這樣的:的
column1|column2
IMO string.Format("{0}+{1}", "column1", "column2");
應該輸出column1+column2
代替column1column2
插入你的價值觀之間的管道,你只需要更換+
string.Format("{0}|{1}", "column1", "column2");
這個和其他每個變化都給出了sintax或操作數錯誤。 – Sorin
這是String.Join
的目的。
String.Join documentation on MSDN
string[] columns = {"column1", "column2"};
string output = String.Join("|", columns);
//output now contains : "column1|column2"
string.join的問題是它只帶來表的列名。不是他們的信息。 這和事實,我不能隱式地將字符串轉換爲system.datacolumn – Sorin
@Sorin你從來沒有提到使用'system.datacolumn'。 如果您打算將數據列的實際值添加到輸出中,則可能需要查看如何迭代數據行。 (假設你正在使用'system.dataset'或'system.datatable'),但我認爲這超出了這個問題的範圍。 –
我認爲column1
和「columns2`是變量,那麼你需要的是:
string.Format("{0}|{1}", column1, column2);
這對於23
和25
值,例如,會給你輸出爲23|25
。
var column1 = "column1";
var column2 = "column2";
var delimiter = "|";
var result = string.Format("{0}{1}{2}", column1, delimiter, column2);
Console.WriteLine(result);
//輸出
column1|column2
如果使用C#6.0還可以使用串內插
var result = $"{column1}|{column2}";
'的String.Format( 「{0} + {1}」, 「column1」,「column2」);'不能給你'column1column2'。 –
拯救我們不被猜測。是'column1'和'column2'變量還是字符串常量? –
這些列是來自存儲過程中的sql查詢的變量。我們將這些列連接在一起並將其發送到sql中的表中。在此列中收到的格式是column1column2。 請不要說,我現在是c#的絕對新手.. – Sorin