Sum

In this chapter you will learn:

  1. How to use Sum operator
  2. Sum the total length of strings
  3. Sum custom types

Get to know Sum operator

using System;//from jav a 2 s . com
using System.Collections;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        decimal[] numbers = { 3, 4, 8 };
        decimal sumTotal = numbers.Sum(); // 15
        Console.WriteLine(sumTotal);

    }
}

The output:

Sum the total length of strings

The following returns the total length of each of the strings in the names array:

using System;/*ja  v  a 2 s  .c o  m*/
using System.Collections;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        string[] names = { "Java", "C#", "Javascript", "SQL", 
              "Oracle", "Python", "C++", "C", "HTML", "CSS" };
        int combinedLength = names.Sum(s => s.Length);
        Console.WriteLine(combinedLength);

    }
}

The output:

Sum custom types

using System;//java  2  s .  co m
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class Employee {
    public int id;
    public string firstName;
    public string lastName;

    public static ArrayList GetEmployeesArrayList() {
        ArrayList al = new ArrayList();
        al.Add(new Employee { id = 1, firstName = "J", lastName = "R" });
        al.Add(new Employee { id = 2, firstName = "W", lastName = "G" });
        al.Add(new Employee { id = 3, firstName = "A", lastName = "H" });
        al.Add(new Employee { id = 4, firstName = "D", lastName = "L" });
        al.Add(new Employee { id = 101, firstName = "K", lastName = "F" });
        return (al);
    }

    public static Employee[] GetEmployeesArray() {
        return ((Employee[])GetEmployeesArrayList().ToArray(typeof(Employee)));
    }
}
public class EmployeeOptionEntry {
    public int id;
    public long optionsCount;
    public DateTime dateAwarded;

    public static EmployeeOptionEntry[] GetEmployeeOptionEntries() {
        EmployeeOptionEntry[] empOptions = new EmployeeOptionEntry[] {
        new EmployeeOptionEntry { 
          id = 1, 
          optionsCount = 2, 
          dateAwarded = DateTime.Parse("1999/12/31") },
        new EmployeeOptionEntry { 
          id = 101, 
          optionsCount = 2, 
          dateAwarded = DateTime.Parse("1998/12/31") }
      };
        return (empOptions);
    }
}
public class MainClass {
    public static void Main() {
        IEnumerable<EmployeeOptionEntry> options = EmployeeOptionEntry.GetEmployeeOptionEntries();
        long optionsSum = options.Sum(o => o.optionsCount);
        Console.WriteLine("The sum of the employee options is: {0}", optionsSum);
    }
}

Next chapter...

What you will learn in the next chapter:

  1. How to use Take operator
Home » C# Tutorial » Linq Operators
Aggregate
Aggregate with seed
Aggregate string value
All
Any
Average
Cast
Concat
Contains
Count
DefaultIfEmpty
Distinct
ElementAt
ElementAtOrDefault
Empty
Except
FindAll
First
FirstOrDefault
GroupBy
Intersect
Last
LastOrDefault
LongCount
Max
Min
OfType
OrderBy
OrderByDescending
Range
Repeat
Reverse
SelectMany
SequenceEqual
Single
SingleOrDefault
Skip
SkipWhile
Sum
Take
TakeWhile
ThenBy
ThenByDescending
ToArray
ToList
Zip