c#的replace怎么替换不了

c#,有个问题想请教,这个实在是太奇怪了,我用replace过滤标点符号,结果发现写好代码之后第一次运行可以,第二次就异常了

img

  double [] grades;
            grades = new double [10];
            double sum = 0;
      
            string m;
           
            for (int i = 0; i < grades.Length; i++)//输入成绩
            {

                do
                {
                    Console.WriteLine("请输入第{0}个同学的成绩:", i);
                    m=Console.ReadLine();
                    m = m.Replace (",./;'][!%$~", "");
                    grades[i] = double.Parse(m);
                }

img

Replace不是这么用的啊
https://docs.microsoft.com/zh-cn/dotnet/api/system.string.replace?view=netframework-4.8#system-string-replace(system-string-system-string)
按照你的想法,应该是使用正则替换比较合适

报什么异常,代码不要截图。复制出来