流程从统一的循环中消失

问题描述 投票:1回答:1

我的统一代码中有一个循环,它读取.csv文本文件并将内容添加到一个类中,然后将该类添加到List对象中。

我遇到的问题是下面的方法中的代码永远不会完成,也就是说它永远不会到达循环底部的debug.log语句,如果我尝试从循环内部调用(我不应该这里称之为线程)线程停止,我在控制台中没有收到任何错误消息。

void ReadDataFile()
{
    Debug.Log(getPath() + DataFileName);
    string fileData = System.IO.File.ReadAllText(getPath() + DataFileName);
    string[] lines = fileData.Split("\n"[0]);
    Debug.Log("linecount from csv is : " + lines.Length);

    for(int n = 1;n < lines.Length; n++)
    {
        Debug.Log("LINE=" + lines[n]);
        string[] linedata = (lines[n].Trim()).Split(',');
        if (linedata[0] == null) break;
        geoData data = new geoData();
        data.Name = linedata[(int)enumField.NAME];
        data.Lat = linedata[(int)enumField.LAT];
        data.Long = linedata[(int)enumField.LONG];
        data.LocType = linedata[(int)enumField.TYPEOFLOCATION];
        data.Charts = linedata[(int)enumField.CHARTS];
        data.Vhf_Tel = linedata[(int)enumField.VHF_TEL];
        data.GroundtoAnchor = linedata[(int)enumField.GROUNDTOANCHOR];
        data.Possibilities = linedata[(int)enumField.POSSIBILITIES];
        data.Environment = linedata[(int)enumField.ENVIRONMENT];
        data.Transportation = linedata[(int)enumField.TRANSPORTATION];


        //add to list
        PortData.Add(data);
        Debug.Log(data.Name + " " + data.Lat + " " + data.LocType);
        /*
        float lat = (float)GeoAngle.FromDegrees(data.Lat);
        float lng = (float)GeoAngle.FromDegrees(data.Long);
        Debug.Log("Adding marker at:" + lat + " " + lng);
        Vector2 markerGeo = new Vector2(lat, lng);

        Debug.Log("Plot vector2 is: " + markerGeo);

        OnlineMapsMarker3D current = control.AddMarker3D(markerGeo, MapMarker);
        */

    }

    Debug.Log("portdata saved to class is : " + PortData.Count);
}
c# unity3d
1个回答
1
投票

谢谢大家,这是一个超出范围异常的索引,奇怪的是它没有被Unity控制台拿起。

© www.soinside.com 2019 - 2024. All rights reserved.