在 C# 中使用 linq 或 lambda 表达式返回一个集合加上一个值
我想返回一个集合加上一个值。目前,我正在使用一个字段创建一个新列表,向列表中添加一个值,然后返回结果。有没有办法用 linq 或 lambda 表达式来做到这一点?
private List<ChargeDetail> _chargeBreakdown
= new List<ChargeDetail>();
public ChargeDetail PrimaryChargeDetail { get; set; }
public List<ChargeDetail> ChargeBreakdown
{
get
{
List<ChargeDetail> result =
new List<ChargeDetail>(_chargeBreakdown);
result.Add(PrimaryChargeDetail);
return result;
}
}
I'd like to return a collection plus a single value. Presently I am using a field to create a new list adding a value to the list and then returning the result. Is there a way to do this with a linq or lambda expression?
private List<ChargeDetail> _chargeBreakdown
= new List<ChargeDetail>();
public ChargeDetail PrimaryChargeDetail { get; set; }
public List<ChargeDetail> ChargeBreakdown
{
get
{
List<ChargeDetail> result =
new List<ChargeDetail>(_chargeBreakdown);
result.Add(PrimaryChargeDetail);
return result;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 集合初始值设定项 语法代替:
You could use a collection initializer syntax instead:
如果将属性类型更改为
IEnumerable
,您可以执行以下操作:这可能会更简单,具体取决于客户端如何使用该类(例如,如果他们只是遍历集合)。如果需要操作列表,他们始终可以调用
ToList
。If you change the property type to
IEnumerable<ChargeDetail>
you could do:Which could be simpler depending on how clients use the class (for example if they just iterate through the collection). They could always call
ToList
if they need to manipulate a list.