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
中,但我得到的只是 MessageBox
和 System.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.
这是 ToString()
的默认行为。它只打印对象的类型名称,除非为特定类型另行定义。
您想使用
foreach (string i in myArray)
MessageBox.Show(i);
为数组中的每个元素显示一个单独的消息框或
MessageBox.Show(string.Join(",", myArray));
显示包含数组所有元素的单个消息框。
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
和 System.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.
这是 ToString()
的默认行为。它只打印对象的类型名称,除非为特定类型另行定义。
您想使用
foreach (string i in myArray)
MessageBox.Show(i);
为数组中的每个元素显示一个单独的消息框或
MessageBox.Show(string.Join(",", myArray));
显示包含数组所有元素的单个消息框。