嘿那里,我有这个foreach循环,不能100%工作.基本上我输出一个字符串.我的问题是我不想要sb.Append(","); 要添加循环中的最后一条记录.是否有一种简单的方法使用linq来解决这个问题?
sb.Append("Readings:[");
foreach (var reading in lake.Reading)
{
sb.Append("[");
sb.Append("\"");
sb.Append(reading.DateTime.ToString("dd-MMM-yy"));
sb.Append("\"");
sb.Append(",");
sb.Append(reading.Level);
sb.Append("]");
//only insert this line if its the not the last record sb.Append(",");
}
sb.Append("]");
Run Code Online (Sandbox Code Playgroud)
你应该考虑使用String.Join()或String.Concat().它使得(逗号分隔)列表更容易成为字符串.与LINQ很好地配合.
var combine = from r in lake.Reading
select String.Format("[\"{0:dd-MMM-yy}\",{1}]", r.DateTime, r.Level);
var str = String.Format("Readings:[{0}]", String.Join(",", combine));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
412 次 |
| 最近记录: |