How to find multiple occurrences with regex groups?

Why does the following code result in:

there was 1 matches for 'the'

and not:

there was 3 matches for 'the'

using System;
using System.Text.RegularExpressions;

namespace TestRegex82723223
{
    class Program
    {
        static void Main(string[] args)
        {
            string text = "C# is the best language there is in the world.";
            string search = "the";
            Match match = Regex.Match(text, search);
            Console.WriteLine("there was {0} matches for '{1}'", match.Groups.Count, match.Value);
            Console.ReadLine();
        }
    }
}

Solution 1:

string text = "C# is the best language there is in the world.";
string search = "the";
MatchCollection matches = Regex.Matches(text, search);
Console.WriteLine("there was {0} matches for '{1}'", matches.Count, search);
Console.ReadLine();

Solution 2:

Regex.Match(String, String)

Searches the specified input string for the first occurrence of the specified regular expression.

Use Regex.Matches(String, String) instead.

Searches the specified input string for all occurrences of a specified regular expression.

Solution 3:

Match returns the first match, see this for how to get the rest.

You should use Matches instead. Then you could use:

MatchCollection matches = Regex.Matches(text, search);
Console.WriteLine("there were {0} matches", matches.Count);

Solution 4:

You should be using Regex.Matches instead of Regex.Match if you want to return multiple matches.