2016-12-15 73 views
-2

我創建一個Web應用程序中,我需要通過,字符串不包含「拆分」

這裏分割字符串我做了什麼

List<string> td = tdate.Split(','); 

,但我得到這個定義錯誤

string does not contain a definition for 'split'

我這樣做是因爲我想拆分此字符串,然後插入分裂串入數據庫foreach循環的幫助下單獨

int i = 0; 
    foreach(string t in td) 
{ 
// here will be my insert command 
} 

我需要處理這個錯誤?

+0

你的'tdate'如何看起來像? –

+0

嘗試'tdate.ToString()。拆分(',');'...什麼是數據類型的tdate –

+1

'字符串[] td = tdate。Split(',');' –

回答

4

請準確與syntax

string[] td = tdate.Split(','); 

注意,返回類型爲陣列和方法的名稱爲Split,不split。如果您工作,List<String>

List<string> td = tdate.Split(',').ToList(); 
+0

看看您發佈的鏈接和答案。沒有重載的方法需要'char'作爲分隔符。有一個需要'char []'來代替。 –

+1

@ m.rogalski:謝謝!我編輯了鏈接;它現在指向'public string [] Split(params char [] separator)'方法;在技​​術上,該方法希望'char []'數組,但是因爲它是'params char []'(請注意,'params')'Split(',')'是正確的 –

+0

在某些情況下這發表評論之前)它顯示與OP一樣的錯誤。 –

0

它看起來或者是你的tdate不是字符串類型,或者是串的陣列。看看你是否已經初始化tdate

var tdate = //some values; 

然後將其更改爲

string tdate; 

,然後你的代碼應該看起來要麼

string tdate = "[15122016,16122016,17122016]"; 
List<string> td = tdate.Split(',').ToList(); 

因爲拆分返回一個字符串數組,而不是名單但我們可以通過使用ToList()將數組轉換爲列表,否則您需要定義像這樣的字符串數組

string tdate = "[15122016,16122016,17122016]"; 
string[] td = tdate.Split(','); 

然後將插入代碼更改

int i = 0; 
for(int k=0; k < td.Length; k++) 
{ 
    // here will be my insert command 
} 

和從索引訪問值等td[i]

+0

您應該添加一些解釋而不是刪除一些代碼-1 – Toshi

+0

如果這將是轉換/類型錯誤,則消息不會是_string不包含'split'_的定義 – Toshi

1

好了,所以,如果你看到的文檔約string.Split(..)方法你有6個不同參數的組合。如果你仔細觀察它們,你會發現一些能夠回答你的問題的東西。您的解決方案的最佳超載是string.Split(params char[] separator)需要的字符數組:

List<string> td = tdate.Split(new char[] { ',' }).ToList(); 

而你總是可以使用不同的一個,如:

List<string> td = tdate.Split(',', StringSplitOptions.RemoveEmptyEntries).ToList(); // or something like that. 

基本上你已經閱讀文檔,並找到最佳的解決方案這將爲你工作。

相關問題