【问题标题】:Add multiple elements to List将多个元素添加到列表
【发布时间】:2020-08-19 23:27:21
【问题描述】:

背景:我有以下代码通过目录递归搜索文件,该目录返回所有文档的列表。我想要文件夹名称和文档名称。 到目前为止,一切都很好。只要我想将两个元素写入我的列表,它就可以很好地工作。

我有一个班级 Companyentry;

class Companyentry
    {
        public string Entry { get; set; }
        public string Folder { get; set; }

        public Companyentry(string ey, string fd)
        {
            Entry = ey;
            Folder = fd;
        }
    }

还有我要写入列表的代码:

List<string> companylist = new List<string>();

private async void button4_Click(object sender, EventArgs e)
        {

            // ListView initialisierem
            listView1.Columns.Add("Dateiname", 200, HorizontalAlignment.Left);
            listView1.Columns.Add("Unternehmen", 20, HorizontalAlignment.Left);
            listView1.CheckBoxes = true;
            listView1.Sorting = SortOrder.Ascending;

            DirectoryInfo di = new DirectoryInfo(rootfolder);
            Console.WriteLine("No search pattern returns:");


            //Write to List
            foreach (var fi in di.GetFiles("*", SearchOption.AllDirectories))
            {

                // Entries
                string[] Split = (fi.Directory.Name).Split(new Char[] { '_' });
                strEntry = (Split[1]);

                companylist.Add(new Companyentry("Entry", "Folder"));

            }

我收到以下错误“Argument 1 cannot convert from Companyentry to 'string'”:

Issue Screenshot

怎么了?

【问题讨论】:

  • companylist 是字符串列表,您想如何将Companyentry 实例添加到该列表中?打电话给ToString() 可能有意义

标签: c# recursion syntax-error


【解决方案1】:

因为这行是错误的:

companylist.Add(new Companyentry("Entry", "Folder"));

改成这样:

companylist.Add("Entry", "Folder");
new Companyentry("Entry", "Folder");

List 是一个字符串列表。

【讨论】:

    猜你喜欢
    • 2016-02-29
    • 1970-01-01
    • 2012-09-11
    • 2015-03-07
    • 2014-06-16
    相关资源
    最近更新 更多