C# program to multiply all numbers in the list

Multiplying all numbers in a list is a common programming task in C#. This can be achieved using several approaches including loops, LINQ, and recursion. The key is to initialize a variable to 1 (the multiplicative identity) and then multiply each element in the list.

Syntax

Following is the basic syntax for multiplying all numbers in a list using a foreach loop −

List<int> numbers = new List<int> { 1, 2, 3 };
int product = 1;
foreach (int number in numbers) {
    product *= number;
}

Using Foreach Loop

The most straightforward approach is to iterate through the list and multiply each element −

using System;
using System.Collections.Generic;

public class Program {
    public static void Main() {
        List<int> myList = new List<int>() {
            5,
            10,
            7
        };
        Console.WriteLine("List: ");
        foreach(int i in myList) {
            Console.WriteLine(i);
        }
        int prod = 1;
        foreach(int i in myList) {
            prod = prod * i;
        }
        Console.WriteLine("Product: {0}", prod);
    }
}

The output of the above code is −

List: 
5
10
7
Product: 350

Using LINQ Aggregate Method

LINQ provides a more concise way to multiply all numbers using the Aggregate method −

using System;
using System.Collections.Generic;
using System.Linq;

public class Program {
    public static void Main() {
        List<int> numbers = new List<int> { 3, 4, 5, 2 };
        
        Console.WriteLine("Numbers in list:");
        numbers.ForEach(Console.WriteLine);
        
        int product = numbers.Aggregate(1, (acc, x) => acc * x);
        Console.WriteLine("Product using LINQ: " + product);
        
        // Alternative shorter syntax
        int product2 = numbers.Aggregate((x, y) => x * y);
        Console.WriteLine("Product using shorter syntax: " + product2);
    }
}

The output of the above code is −

Numbers in list:
3
4
5
2
Product using LINQ: 120
Product using shorter syntax: 120

Using Recursive Method

You can also implement multiplication using recursion for educational purposes −

using System;
using System.Collections.Generic;

public class Program {
    public static int MultiplyRecursive(List<int> numbers, int index = 0) {
        if (index >= numbers.Count) {
            return 1;
        }
        return numbers[index] * MultiplyRecursive(numbers, index + 1);
    }
    
    public static void Main() {
        List<int> numbers = new List<int> { 2, 3, 4 };
        
        Console.WriteLine("Numbers: " + string.Join(", ", numbers));
        int result = MultiplyRecursive(numbers);
        Console.WriteLine("Product using recursion: " + result);
    }
}

The output of the above code is −

Numbers: 2, 3, 4
Product using recursion: 24

Comparison of Methods

Method Pros Cons
Foreach Loop Simple, readable, memory efficient More verbose code
LINQ Aggregate Concise, functional programming style Requires LINQ knowledge
Recursion Educational, elegant for small lists Stack overflow risk with large lists

Conclusion

Multiplying all numbers in a list can be accomplished through multiple approaches in C#. The foreach loop method is the most straightforward and memory-efficient, while LINQ's Aggregate method provides a more functional programming approach. Choose the method that best fits your coding style and requirements.

Updated on: 2026-03-17T07:04:35+05:30

1K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements