尝试在集合上使用String.Join不会仅列出项目集合名称

Ran*_*iff 0 c#

我看上去到处似乎都有相同的反应,但找不到解决我所遇到问题的方法。我正在尝试将对象列表中的项目连接成一个字符串。但是,我得到的是页面的名称和对象的名称,即实际的列表值。

我试过了:

string combinedLog = string.Join(",", logList)
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

string combinedLog = string.Join(",", logList.Select(c => c.ToString()).ToArray<string>());
Run Code Online (Sandbox Code Playgroud)

我得到的是PageName + Log,PageName + Log

这是对象:

    private class Log
    {
        public DateTime LogTime { get; set; }
        public string Result { get; set; }
        public string ItemName { get; set; }
        public Guid? ItemId { get; set; }
        public string ErrorMessage { get; set; }
    }
Run Code Online (Sandbox Code Playgroud)

列表是:

List<Log> logList = new List<Log>();
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取类似以下的字符串:“ 10/21/2019,失败,Acme,无法导入,10/21/2019,成功,ABC,没有错误”

Pav*_*ski 5

您可以为此覆盖类中的ToString()方法Log

   private class Log
   {
        public DateTime LogTime { get; set; }
        public string Result { get; set; }
        public string ItemName { get; set; }
        public Guid? ItemId { get; set; }
        public string ErrorMessage { get; set; }

        public override string ToString()
        {
             return $"{LogTime}, {Result}, {ItemName}, {ErrorMessage}";
        }
   }
Run Code Online (Sandbox Code Playgroud)

而不是连接logList成一个字符串