我想返回一个集合加一个值。目前,我正在使用一个字段来创建一个新列表,向该列表添加一个值,然后返回结果。有没有办法用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;
    }
}

最佳答案

您可以改用collection initializer语法:

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

08-26 16:22