Giorgi Van GoGh
Giorgi Van GoGh

Reputation: 29

sum two column using linq

I want to sum two column using linq, is this possible?

var dat1 = from b in dt1.AsEnumerable()
    select new
    {
        fLogin2 = b.Field<Decimal>("Login"),
        fBalance2 = b.Field<Decimal>("Balance"),
        fFloatingPNL2 = b.Field<Decimal>("FloatingPNL"),
        fEquity1 = (fBalance2 + fFloatingPNL2)
    };

Upvotes: 0

Views: 70

Answers (1)

Camilo Terevinto
Camilo Terevinto

Reputation: 32058

fBalance2 does not exist in the context you are using it. So, you have two options:

1) Using let:

from b in dt1.AsEnumerable()
    let balance = b.Field<decimal>("Balance")
    let floatingPNL = b.Field<decimal>("FloatingPNL")
    select new
    {
        fLogin2 = b.Field<Decimal>("Login"),
        fBalance2 = balance,
        fFloatingPNL2 = floatingPNL,
        fEquity1 = (balance + floatingPNL)
    };

2) Or duplicate the expression:

var dat1 = from b in dt1.AsEnumerable()
    select new
    {
        fLogin2 = b.Field<Decimal>("Login"),
        fBalance2 = b.Field<Decimal>("Balance"),
        fFloatingPNL2 = b.Field<Decimal>("FloatingPNL"),
        fEquity1 = (b.Field<Decimal>("Balance") + b.Field<Decimal>("FloatingPNL"))
    };

Upvotes: 1

Related Questions