c# - 尝试在集合上使用 String.Join 不会仅列出项目集合的名称
问题描述
我所看到的每个地方似乎都有相同的响应,但我找不到一个来解决我遇到的问题。我正在尝试将对象列表中的项目连接成一个字符串。但是,我得到的是页面名称和对象名称,即实际列表值。
我试过了:
string combinedLog = string.Join(",", logList)
我也试过:
string combinedLog = string.Join(",", logList.Select(c => c.ToString()).ToArray<string>());
我得到的是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; }
}
清单是:
List<Log> logList = new List<Log>();
我试图得到一个字符串,如:“2019 年 10 月 21 日,失败,Acme,无法导入,2019 年 10 月 21 日,成功,ABC,没有错误”
解决方案
您可以为此覆盖类中的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}";
}
}
而不是logList
使用连接成一个字符串string.Join
推荐阅读
- scala - 无法解决编译错误
- powershell - 仅将文本附加到 Powershell 函数中的某些变量
- node.js - npm config - 全局与本地
- typescript - TypeORM 中是否有办法将多对多关系的连接表创建为类似于 ActiveRecord 的实体?
- oracle - Oracle 查询性能:VIEW PUSHED PREDICATE 导致内部查询多次执行
- tensorflow - TensorFlow RNN API static_rnn
- javascript - vanilla JS 中的 DOM 操作
- c# - 如何使用具有唯一标识符作为属性的重复标签名称反序列化 XML?
- firebase - Firebase 数据库规则。通过电话号码限制写访问
- excel - excel IF公式错误,“您输入的参数太多”