我想通過字符串值即(紅,藍,黑),以一個字符串數組。我用下面的代碼
我收到此錯誤
Error 137 Argument '1': cannot convert from 'string' to 'char[]'
問候,
我想通過字符串值即(紅,藍,黑),以一個字符串數組。我用下面的代碼
我收到此錯誤
Error 137 Argument '1': cannot convert from 'string' to 'char[]'
問候,
string[] splitString = myString.Split(",");
你應該看看String.Split
方法
string myString = "red,blue,black";
string[] splitString = myString.Split(',');
您試圖分配string
直接向string[]
- 這可不行。首先,您需要做的字符串的東西 - 在String.Split
方法看起來像一個不錯的選擇:
string[] splitString = "red,blue,black".Split(',');
@Oded ...謝謝...我得到了解釋我所尋找的... – sun
@sun如果這個答案符合您的需求,您應該聲明它爲*解* –
string myString = "red,blue,black";
string[] splitString = myString.Split(',');
foreach(string s in splitString)
Console.WriteLine(s);
@Peter Ivavov ... string [] splitString = myString.Split(',');給出錯誤參數'1':根據它的文檔'string.Split()'returns' string []'...不能從'字符串'轉換爲'char []'錯誤 – sun
@sun是什麼類型你的'myString'?你有沒有試過@PeterIvanov代碼?你真的在做'.Split('')' - 那麼編譯器應該檢測到'params char []'-overload –
嘗試像下面,
string myString = "red,blue,green";
string[] splitString = new string[1];
splitString[0] = myString;
或
string[] splitString = myString.Split(',');
Kalyan ...謝謝...我知道了 – sun
好的,那麼你最終的結論是什麼?題? –
或者只是作爲替代:
string myString = "red,blue,black";
var strArr = Regex.Split(myString, ",");
如果我正確地讀你的問題,你不是想分割字符串,你只需要一個數組與一個或多個字符串,對不對?在這種情況下,你會這樣做:
string[] splitString = new string[]{ "red", "blue", "black" };
@Marnix ...謝謝 – sun
您的問題是,您嘗試將類型分配給數組類型。
如果你聲明一個數組,那麼你需要用operator new初始化它。
String[] arrayOfString = new String[3];
在上面的代碼段聲明變量arrayOfString
即字符串對象的陣列。這意味着在arrayOfString中你可以期待String。
之後,您分配給它三個字符串對象(新字符串[3])的新數組實例,在這一步中,你只保留三個元素的內存。
在此之後,您可以在arrayOfString
中存儲任何字符串對象。
要在數組中存儲對象,只需使用變量名稱和索引器即可。
arrayOfString[0] = "StackOverflow";
在這個例子中我們分配,一個字符串轉換arryOfString下索引0
在C#陣列索引爲0到聲明的尺寸 - 1,在這種情況下是2。
和OP的問題有什麼關係?你在你的答案的任何地方使用'string.Split()'? –
問題中的哪個位置是用戶想要分割任何東西的語句?這只是一個基於數組名稱的假設。與OP問題的連接是關於爲什麼您不能將String分配給String []。不僅在String上調用split方法的空解決方案。如果OP知道差異會問,如何使用分隔符分割字符串。 –
@Azodios ....我知道,但我想要字符串陣列的另一種用途.. – sun
@sun你能解釋一下這個問題嗎? – Matten
你能詳細說明一下嗎? – Azodious