c#新手,尝试从。tsv文件创建一个简单的目录
我有一个脚本(文本解析器)读取文件,创建一个名为"TableData"的对象的实例,并将所有数据传输到该实例。
文本解析器的相关部分如下:
public class TextParser : MonoBehaviour {
...
...
line = reader.ReadLine();
string[] tableKey = line.Split('t');
line = reader.ReadLine();
string[] typeKey = line.Split('t');
line = reader.ReadLine();
string[] entries = line.Split('t');
TableData tableData = new TableData(tableKey,typeKey,entries);
...
...
*在脚本的后面,我有一个循环,将每个额外的行添加到该实例
的列表中TableData脚本只有3个字段:2个字符串数组和1个字符串数组列表:
public class TableData : MonoBehaviour
{
public string[] tableKey;
public string[] tableType;
public List<string[]> excelData = new List<string[]>();
public TableData(string[] _tableKey, string[] _tableType, string[] entries)
{
tableKey = _tableKey;
tableType = _tableType;
excelData.Add (entries);
}
}
所以问题是,如果我实例的'TextParser'类的对象(在运行时),而反过来它实例的'TableData'类的对象-我怎么能访问'TableData'实例中的数据?
试试这样
public class TableData : MonoBehaviour
{
public string[] tableKey;
public string[] tableType;
public DataTable dt = new DataTable();
public TableData()
{
dt.Columns.Add("Key", typeof(string));
dt.Columns.Add("Type", typeof(string));
dt.Columns.Add("Entry", typeof(string));
}
public TableData(string[] _tableKey, string[] _tableType, string[] entries)
{
for (int i = 0; i < _tableKey.Length; i++)
{
dt.Rows.Add(new object[] { _tableKey[i], _tableType[i], entries[i] });
}
}
}
将其设为public,并在class
范围内
public class TextParser : MonoBehaviour {
//...
public TableData tableData;
//...
}
那你就直接写
TextParser tp;
TableData tableData = tp.tableData;
// Do something