我正在尝试访问List<string> list
中的每个元素,并在下面的代码中拆分列表中的每个元素。
for(int i = 0; i < list.Count; i++)
{
string x= list[i].ToString();
string y= x.Split(':');
}
但这不起作用,显示的原因是“无法将string []隐式转换为字符串”。我该如何解决?当我将list[i]
存储在字符串变量中时,它会被视为字符串数组而不是字符串吗?
答案 0 :(得分:3)
这一行
string y= x.Split(':');
返回string [],这就是它出现的原因
试试这个
string y= x.Split(':')[0];
答案 1 :(得分:2)
因为split返回一个字符串数组。应该是这样的:
string[] y= x.Split(':');
答案 2 :(得分:2)
您是否看过String.Split
的签名?其返回类型为string[]
,而不是string
。因此,您无法将其返回值存储在string
变量中。
答案 3 :(得分:2)
for(int i = 0; i < list.Count; i++)
{
string x= list[i].ToString();
foreach(string y in x.Split(':'))
{
// do something with y
}
}
答案 4 :(得分:1)
当您调用string.Split
时,它将返回一个字符串数组,其中包含由':'
分隔的字符串组件。您需要将string y= x.Split(':');
更改为:
string[] y= x.Split(':');
请参阅method
的文档