【发布时间】:2011-12-08 10:00:07
【问题描述】:
我想将字符串值(即(红色、蓝色、黑色))传递给字符串数组。我使用了以下代码
string[] splitString = myString;
我收到了这个错误
Error 137 Argument '1': cannot convert from 'string' to 'char[]'
问候,
【问题讨论】:
我想将字符串值(即(红色、蓝色、黑色))传递给字符串数组。我使用了以下代码
string[] splitString = myString;
我收到了这个错误
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(',');
【讨论】:
string myString = "red,blue,black";
string[] splitString = myString.Split(',');
foreach(string s in splitString)
Console.WriteLine(s);
【讨论】:
string.Split() 返回string[] ...您的myString 是什么类型?你试过@PeterIvanov 代码吗?你真的在做.Split('') - 那么编译器应该检测到params char[]-overload
像下面这样试试,
string myString = "red,blue,green";
string[] splitString = new string[1];
splitString[0] = myString;
或
string[] splitString = myString.Split(',');
【讨论】:
【讨论】:
或者只是一个替代方案:
string myString = "red,blue,black";
var strArr = Regex.Split(myString, ",");
【讨论】:
如果我正确阅读了您的问题,您并没有尝试拆分字符串,您只需要一个包含一个或多个字符串的数组,对吗?在这种情况下,你会做这样的事情:
string[] splitString = new string[]{ "red", "blue", "black" };
【讨论】:
您的问题是,您尝试将类型分配给类型数组。
如果你声明了一个数组,那么你需要用 operator new 来初始化它。
String[] arrayOfString = new String[3];
在上面的代码中,您声明了一个变量arrayOfString,它是一个字符串对象数组。这意味着在 arrayOfString 中你可以期待 String。
之后,您为三个 String 对象(new String[3])分配了新的数组实例,在此步骤中,您只为三个元素保留内存。
在此之后,您可以在arrayOfString 中存储任何字符串对象。
要将对象存储在数组中,您只需使用变量名和索引器。
arrayOfString[0] = "StackOverflow";
在这个例子中,我们将一个字符串分配到索引 0 下的 arryOfString 中。
在 C# 中,数组的索引从 0 到声明的大小 - 1,在本例中为 2。
【讨论】:
string.Split() 吗?