Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
标签C#give中的输出数组信息无法将字符转换为字符串_C#_Arrays - Fatal编程技术网

标签C#give中的输出数组信息无法将字符转换为字符串

标签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

正如标题所说,我试图从foreach中的数组中获取信息。 这是用于Microsoft表单应用程序的! 到目前为止,我尝试的是:

       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);
}

你能告诉我们潜在的问题是什么吗?即使有“修复”我和其他一些人建议,你仍然要用数组中的最后一个文本替换该标签的文本。在代码执行后,你希望该标签的文本是什么?尝试过了,问题是我根本没有得到任何输出。有什么建议吗?非常感谢!应用程序没有正确执行代码