对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'实例中的数据?
答案 0 :(得分:0)
尝试这样的事情
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] });
}
}
}
答案 1 :(得分:0)
公开,并在class
范围内
public class TextParser : MonoBehaviour {
//...
public TableData tableData;
//...
}
然后你就做了
TextParser tp;
TableData tableData = tp.tableData;
// Do something