我的统一代码中有一个循环,该循环读取.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);
}
答案 0 :(得分:1)
谢谢,这是索引超出范围的异常,奇怪的是它没有被Unity控制台接收。