2011-08-20 87 views
0

(VS2010中的C#)從值對象獲取值[4,4]

我從名爲multiplyMatrix(m1,m2)的方法獲取對象。 此方法的簽名是:public object multiplyMatrix(object[,] m1, object[,] m2)

然後,

object toCheckOutput = multiplyMatrix(m1, m2); 

該行工作,但我需要驗證「陣列」中的數據。當我在監視窗口中觀看變量toCheckOutput時,我獲得值{object[4,4]}object{object[,]}

如果我嘗試與toCheckOutput[0,1]訪問「陣列」的值,我從編譯器得到以下錯誤:

無法應用用[]索引到類型「對象」的表達。

有人知道如何解決這個問題嗎?我試圖通過類型轉換來強制類型轉換,但這也不起作用。

+0

請發佈您的代碼示例,並說明出錯的地方。 – Oded

+0

而不是*描述*代碼,請發佈一個簡短但完整的程序來說明問題。 Casting應該可以正常工作,但我們不知道'toCheckOutput'引用的對象究竟是什麼類型。爲什麼'multiplyMatrix'不會返回更有用的東西? –

+0

什麼是這些對象,爲什麼你不使用數字類型? –

回答

1

聽起來像方法簽名應該是public object[,] multiplyMatrix(object[,] m1, object[,] m2)。如果您可以控制此API,請在此處進行修復。

如果沒有,只是解決問題投:

object[,] toCheckOutput = (object[,])multiplyMatrix(m1, m2); 

編譯器不會讓你指數object因爲object沒有索引;您需要確保編譯器知道該對象實際上是一個數組。