在C#中使用linq或lambda表达式返回一个集合加上一个值

我想返回一个集合加上一个值。 目前,我正在使用一个字段来创建一个新列表,向列表中添加一个值,然后返回结果。 有没有办法用linq或lambda表达式做到这一点?

private List _chargeBreakdown = new List(); public ChargeDetail PrimaryChargeDetail { get; set; } public List ChargeBreakdown { get { List result = new List(_chargeBreakdown); result.Add(PrimaryChargeDetail); return result; } } 

您可以使用集合初始化程序语法:

 public List ChargeBreakdown { get { return new List(_chargeBreakdown) {PrimaryChargeDetail}; } } 

如果您将属性类型更改为IEnumerable您可以执行以下操作:

 public IEnumerable ChareBreakdown { get { return _chargeBreakdown.Concat(new[] { PrimaryChargeDetail }); } } 

根据客户端如何使用类(例如,如果他们只是遍历集合),这可能更简单。 如果需要操作列表,他们总是可以调用ToList