标签C#give中的输出数组信息无法将字符转换为字符串
正如标题所说,我试图从foreach中的数组中获取信息。 这是用于Microsoft表单应用程序的! 到目前为止,我尝试的是:标签C#give中的输出数组信息无法将字符转换为字符串,c#,arrays,C#,Arrays,正如标题所说,我试图从foreach中的数组中获取信息。 这是用于Microsoft表单应用程序的! 到目前为止,我尝试的是: private void tabPage1_Click(object sender, EventArgs e) { string[] names = new string[] { "Matt", "Joanne", "Robert" }; foreach (string element in
private void tabPage1_Click(object sender, EventArgs e)
{
string[] names = new string[] { "Matt", "Joanne", "Robert" };
foreach (string element in names)
{
label3.Text = (string)element[1];
}
}
我做错了什么?(string)元素[1]
获取字符串元素中的第二个字符,然后将其转换为字符串。(它相当于元素。子字符串(1,1)
)
您可能只想使用element
:label3.Text=element代码>
但是,这里仍然存在一个问题,即label3.Text
最终将成为名称的最后一个元素。我怀疑这是您想要的。元素[1]
是字符,因为元素
是名称
数组中的字符串之一
因此,错误消息是正确的,您不能将字符
强制转换为字符串
也许你的意思是:
label3.Text = element;
您只需更改以下内容:
private void tabPage1_Click(object sender, EventArgs e)
{
string[] names = new string[] { "Matt", "Joanne", "Robert" };
foreach (string element in names)
{
label3.Text = element;
}
}
这将更新标签,显示Matt、Joanne和Robert
如果您想这样做,可以使用for
循环
for(int i = 0; i <= 2; i++)
{
label3.Text = names[i];
}
用于(int i=0;i此行
label3.Text = (string)element[1];
表示显示字符串数组中每个元素的第一个字符名称
。获取第一个字符,将其强制转换为字符串,并将其分配给标签文本。不允许将字符
显式强制转换为字符串
,这就是出现错误的原因
无法将类型“char”转换为“string”
您可以使用以下方法解决此问题:
label3.Text = element;
但这将导致另一个问题,您将得到标签中数组中的最后一个值
如果要显示由逗号等分隔符分隔的数组中的所有值,请使用:
private void tabPage1_Click(object sender, EventArgs e)
{
string[] names = new string[] { "Matt", "Joanne", "Robert" };
label3.Text = string.Join(",", names);
}
你能告诉我们潜在的问题是什么吗?即使有“修复”我和其他一些人建议,你仍然要用数组中的最后一个文本替换该标签的文本。在代码执行后,你希望该标签的文本是什么?尝试过了,问题是我根本没有得到任何输出。有什么建议吗?非常感谢!应用程序没有正确执行代码