流程统一地从循环中消失

时间:2019-03-13 14:51:50

标签: c# unity3d

我的统一代码中有一个循环,该循环读取.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);
}

1 个答案:

答案 0 :(得分:1)

谢谢,这是索引超出范围的异常,奇怪的是它没有被Unity控制台接收。