string s = "1.23 5.35 3.45 5.65";
        string[] arr = s.Split(' ');        double[] dblValues = new double[arr.Length];
        for (int i = 0; i < arr.Length; i++)
        {
            if (!double.TryParse(arr[i], out dblValues[i]))
                Console.WriteLine("{0}", dblValues[i]);            
        }
我的目的是把字符串分割,分割完后分别输出1.23  5.35 这样的数,用作后续程序中的公式系数,所以要清楚的知道分割后这些数的位置(或者索引号),以便以后的程序方便引用!请指教!!!
 另外,这段代码为什么运行时Console.WriteLine("{0}", dblValues[i]);控制台没有输出结果呢?

解决方案 »

  1.   

    不显示的方法,同上去掉分割后,dblValues[0]就是1.23 dblValues[1]就是5.35 。
      

  2.   

    去掉!分割后,dblValues[0]就是1.23 dblValues[1]就是5.35 。
      

  3.   

    if (!double.TryParse(arr[i], out dblValues[i]))
    去掉“!” 这个判断下是如果转换没成功才会执行的。
      

  4.   


     string s = "1.23 5.35 3.45 5.65";
                string[] arr = s.Split(' ');
                double[] dblValues = Array.ConvertAll<string, double>(arr, ToDuble);
            }
            public double ToDuble(string s)
            {
                double i;
                if (double.TryParse(s, out i))
                {
                    return i;
                }
                else
                {
                    return -1.01;
                }
                
            }
      

  5.   

    去掉!
    double.TryParse转换成功,则为 true
      

  6.   

    double[] dblValues = new double[s.Split(' ').Length];
      foreach(string s in str.Split(' '))
      {
       if(double.TryParse(s,out dblValues[i]))
          Console.WriteLine("{0}", dblValues[i]);  
      }