C#数组内容未显示,但类型为

时间:2018-07-28 07:24:15

标签: c# arrays foreach messagebox

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中的名称,但我所得到的只是带有MessageBox的{​​{1}},而我我不确定为什么吗?  有人可以告诉我我在做什么错吗?

谢谢

Eddie

2 个答案:

答案 0 :(得分:2)

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

您要使用

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

为数组或

中的每个元素显示一个单独的消息框
MessageBox.Show(string.Join(",", myArray));

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

答案 1 :(得分:1)

问题是您要遍历数组中的每个元素,并显示问题所在的数组public void onCreate( ... final Handler handler = new Handler(); final Runnable r = new Runnable() { public void run() { Log.i(TAG, "message"); handler.postDelayed(this, 1000); ... } }; handler.postDelayed(r, 1000);

解决

myArray.ToString()

或Just(一次显示所有内容)

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

String.Join Method (String, String[])

  

使用指定的字符串连接字符串数组的所有元素   每个元素之间的分隔符。

Object.ToString Method ()