C#でテキストファイルから5文字以上の数字があれば読み込みその前後10文字と数字を抜き出したいのですが、うまくいきません。。

string file = textBox1.Text;
string pattern_count = @"[0-9]{5,}";

IEnumerable<string> files =System.IO.Directory.EnumerateFiles(@file, "*", System.IO.SearchOption.AllDirectories);


foreach (string f in files)
{

    StreamReader sr = new StreamReader(f, Encoding.GetEncoding("Shift_JIS"));
    string str = sr.ReadToEnd();
    sr.Close();

    if (str.Contains(pattern_count))
    {

        System.Text.RegularExpressions.Regex r =new  System.Text.RegularExpressions.Regex(@pattern_count ,System.Text.RegularExpressions.RegexOptions.IgnoreCase);
        System.Text.RegularExpressions.MatchCollection m = r.Matches(f);

        while (m.Success)
        {
            Console.WriteLine(m.Value);
            m = m.NextMatch();
        }                                      

    }

}