c# -在数组中解析浮点字符串时抛出NullReferenceException

本文关键字:字符串 NullReferenceException 数组 | 更新日期: 2023-09-27 18:17:15

这让我很震惊,我不知道我做错了什么。我试图做的是抓取文本框的内容,用逗号分隔值,将它们放入数组,然后解析它们以浮动并将它们放入另一个数组。系统。NullReferenceException:对象引用没有设置为对象的实例。

        Xt = s1.Split(',').Select(s1V => s1V.Trim()).ToArray();
        Yt = s2.Split(',').Select(s2V => s2V.Trim()).ToArray();
        float number;
        if (Xt.Length == Yt.Length)
        {
            int i = 0;
            foreach (var value in Xt)
            {
                // Console.WriteLine("l:"+Xt.Length+" "+Xt[i]+"+");
                if (Xt[i] != null)
                {
                    Xi[i] = float.Parse(Xt[i]);
                }
                //  Yi[i] = float.Parse(Yt[i]);
                i++;
            }
 ...

c# -在数组中解析浮点字符串时抛出NullReferenceException

string s1 = textBox1.Text;
        string s2 = textBox2.Text;            
        float[] Yi;
        Xt = s1.Split(',').Select(s1V => s1V.Trim()).ToArray();
        Yt = s2.Split(',').Select(s2V => s2V.Trim()).ToArray();
        float number;
        if (Xt.Length == Yt.Length)
        {
            int i = 0;
            Xi = new float[Xt.Length];//<---properly initializing the array.
            foreach (var value in Xt)
            {
                // Console.WriteLine("l:"+Xt.Length+" "+Xt[i]+"+");
                if (Xt[i] != null)
                {
                    Xi[i] = float.Parse(Xt[i]);
                }
                //  Yi[i] = float.Parse(Yt[i]);
                i++;
            }

感谢MarcinJuraszek。