首页 > 解决方案 > 需要帮助以在文本框中显示列表的内容

问题描述

我正在尝试在 Windows 窗体应用程序文本框中显示 10 个人的姓名。最后一行代码给了我以下2个错误:

'string.Join(string, string[])' 的最佳重载方法匹配有一些无效参数。

参数 2:无法从 'System.Collections.Generic.List' 转换为 'string[]'。

有人可以解释错误以及如何解决它们吗?

public class FullName
{
    public string name;
    public string surname;
}

int i;
List<FullName> namesList = new List<FullName>();

for (i = 0; i < 10; i++)
{
    namesList.Add(new FullName { name = "John", surname = "Adams" });
}

txt_names.Text = String.Join(" ", namesList);

标签: c#list

解决方案


使用 override 使字符串美化

public class FullName
{
    public String Name { get; set; }
    public String SurName { get; set; }

    public override string ToString()
    {
        return String.Format("{0} {1}", Name, SurName);
    }
}

覆盖 ToString() 方法后,您可以调用类来打印它。

List<FullName> Names = new List<FullName>();
for ( int i = 0; i < 10; i++ )
{
     Names.Add(new FullName() { Name = "John", SurName = "Smith" });
}
Console.WriteLine(String.Join("\r\n", Names));

结果 >

John Smith
John Smith
John Smith
John Smith
John Smith
John Smith
John Smith
John Smith
John Smith
John Smith

推荐阅读