【发布时间】:2023-03-20 07:34:01
【问题描述】:
我有一个包含字段类型对象的列表,即List<Field>,我的字段类定义如下:
Public Class Field
{
public string FieldName { get; set; }
public string FieldValue { get; set; }
}
然后这个列表被转换成Dictionary<string, List<string>>类型的字典
Dictionary<string, List<string>> myResult =
myFieldList.Select(m => m)
.Select((c, i) => new { Key = c.FieldName, value = c.FieldValue })
.GroupBy(o => o.Key, o => o.value)
.ToDictionary(grp => grp.Key, grp => grp.ToList());
我想使用 Linq 将列表中包含的字符串值附加为单个字符串,因此从技术上讲,上面定义的字典应该定义为 Dictionary<string, string>,但在附加时我需要几个额外的步骤。
我需要在每个要附加的值前面添加\r\n,并且如果值为空,我需要确保这些值(包括新行)不会被附加,即
value += (string.IsNullOrEmpty(newval) ? string.Empty : '\r\n' + newVal);
谢谢。
T.
【问题讨论】:
-
到目前为止你尝试过什么?
-
我尝试过使用 Aggregate 但我似乎无法正确使用。我要么可以访问列表,要么可以访问字符串,但无论哪种方式,我都不确定将它放在我的 linq 查询中的哪个位置。