[英]Datatable getting tuple as an object
所以我遇到了一個我目前正在制作的 Unity 項目的問題
我有一個數據表,其中包含不同部分的統計信息[重量,產品,...] 在這個數據庫的腳本中有我創建的多個元組。 例如我在數據庫中的 Thrust Tuple<string, int>
(在第六行)這個元組被分配了這個:
Tuple.Create("WASD",1)
WASD 是推進器可以發射的方向,1 是強度。
在我的代碼的一部分,我想將第二個值(1)添加到變量中。 但是它只是不工作。 如果我打印出元組,我會得到:
(WASD,1)
UnityEngine.MonoBehaviour:print(Object) Master:Start() (在 Assets/Scripts/Master.cs:68)
女巫很好
但我無法訪問它。 它說它是 object 但如果我執行GetType()
我得到:
System.Tuple`2[System.String,System.Single]
我無法使用Item2
或Item1
訪問它。 它只是(WASD,1)
BStats.Columns.Add(new DataColumn("Block", typeof(string)));
BStats.Columns.Add(new DataColumn("live", typeof(float)));
BStats.Columns.Add(new DataColumn("Weight", typeof(float)));
BStats.Columns.Add(new DataColumn("Products", typeof(Tuple<string,float>)));
BStats.Columns.Add(new DataColumn("Thrust", typeof(Tuple<string,float>)));
BStats.Columns.Add(new DataColumn("Consume", typeof(Tuple<string, float>)));
BStats.Columns.Add(new DataColumn("Desc", typeof(string)));
BStats.Rows.Add("Energy",1F,3F,Tuple.Create("Energy",1.0F),Tuple.Create("NAN",0F),
Tuple.Create("Thori um", 0.1F), "a Thorium Reactor");
BStats.Rows.Add("Armor", 5F, 4F, Tuple.Create("NAN", 0F), Tuple.Create("NAN", 0F),
Tuple.Create("NAN", 0F), "a simple Armor block");
BStats.Rows.Add("Engine", 2F, 2F, Tuple.Create("NAN", 0F), Tuple.Create("WASD", 1F),
Tuple.Create("Fuel", 0.2F), "a space engine");
BStats.Rows.Add("Gun", 1.5F, 0.5F, Tuple.Create("NAN", 0F), Tuple.Create("NAN", 0F),
Tuple.Create("Energy", 0.5F), "a simple laser Gun");
BStats.Rows.Add("Command Capsule", 3F, 5F, Tuple.Create("NAN", 0F), Tuple.Create("NAN", 0F),
Tuple.Create("Energy", 0.1F), "the Heart of your spaceship.");
print(BStats.Rows[2][4])
我是 Unity 的新手,所以這將是一個愚蠢的錯誤,或者我使用 Datatables 的方式是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.