C# 数组内容不显示,但类型是

C# Array Contents not showing, but type is

public partial class Form1 : Form
{
    private string[] myArray = { "Eddie", "Amber", "Kelly" };

    public void showMe()
    {
        foreach (string i in myArray) 
            MessageBox.Show(myArray.ToString()); 

    }

    private void button1_Click(object sender, EventArgs e) => showMe();
}

大家好,

我试图让 myArray 中的名字显示在 MessageBox 中,但我得到的只是 MessageBoxSystem.String[] 以及我不确定为什么? 有人可以告诉我我做错了什么吗?

谢谢

埃迪

问题是您正在迭代数组中的每个元素,并显示数组的类型 myArray.ToString() 这就是问题所在

解决

foreach (string item in myArray)
{
    MessageBox.Show(item);
}

或 Just(一次全部显示)

MessageBox.Show(string.Join(",",myArray));

String.Join Method (String, String[])

Concatenates all the elements of a string array, using the specified separator between each element.

Object.ToString Method ()

这是 ToString() 的默认行为。它只打印对象的类型名称,除非为特定类型另行定义。

您想使用

foreach (string i in myArray)
    MessageBox.Show(i);

为数组中的每个元素显示一个单独的消息框或

MessageBox.Show(string.Join(",", myArray));

显示包含数组所有元素的单个消息框。