其实自己跟踪一下就知道,split出来的字符串里有"",可以处理一下。
if(s.Trim()<>"")

解决方案 »

  1.   

    不好意思,上面没发好。
    其实自己跟踪一下就知道,split出来的字符串里有"",可以处理一下。
    if(s.Trim() !="") Double.Parse(s);
      

  2.   

    char[] delimiterChars = { ' ', '\r', '\n' }; 
    这样来split会有问题吧,有可能一行的后面是\r\n,这扬就会产生“”这样的数据,parse当然会报错。
      

  3.   

    可是我用console.write()打印出来,并没有显示空格啊。
    请问:拆分空格是不是用这条语句:char[] delimiterChars = { ' ', '\r', '\n' }; 
                                string[] numbers = line.Split(delimiterChars);
      

  4.   

    不要'\r','\n',这样就会有""出现,因为有可能换行符是"\r\n"
      

  5.   

    肯定是有空串,相当于string.Empty,而不是空格...上面都说很清楚了,楼主没仔细看.
      

  6.   

    Double是数值类型,你要将字符转换为数值,那它里面的空格呢
      

  7.   

    Double.Parse(s); 
    这 行语句有错误吧,它赋予哪个变量?
      

  8.   

    帮你改了一下,是你分割字符串的时候有问题。            string path = @"c:\hhk.txt";            string[] lines = File.ReadAllLines(path);
                ArrayList ls = new ArrayList();
                //List <string []> ls = new List <string []>();             foreach (string line in lines)
                {
                    string[] numbers = Regex.Split(line, "  ", RegexOptions.IgnoreCase); 
                    ls.Add(numbers);
                }
                foreach (string[] ss in ls)
                {
                    foreach (string s in ss)
                    {
                        string st = s;
                        Double.Parse(s);
                        Console.WriteLine(s + " ");
                    }
                    Console.WriteLine();
                } 
      

  9.   

    static void Main(string[] args)
            {
                string path = @"d:\hhk.txt";            string[] lines = File.ReadAllLines(path);
                ArrayList ls = new ArrayList();
                //List <string []> ls = new List <string []>();
                char[] delimiterChars = { ' ', '\r', '\n' };
                foreach (string line in lines)
                {
                    string[] numbers = line.Split(delimiterChars);                ls.Add(numbers);            }
                foreach (string[] ss in ls)
                {
                    foreach (string  s in ss)
                    {
                        string st =s.Trim();
                        if(st = string.Empty)
                        {
                            continue;
                        }
                      Double.Parse(st);
                        Console.WriteLine(st + " ");
                    }
                    Console.WriteLine();
                }        } 
    试试这个看行不?