2013-05-15 35 views
0

我一直在研究這個問題,搜索論壇和Microsoft文章,但到目前爲止,我找到的都沒有幫助,所以我需要問專家。c#嘗試從數組中的對象中獲取byte []

我一直在C#項目中使用COM參考(第三方DLL),其中一個輸出給了我一些有效載荷數據。我試圖將字節[]數據轉換爲明文以進行調試,但這裏是我遇到問題的地方。

如果我在調試期間看本地人,我看到返回的System.Array有三個對象。每個對象都包含一個字節[] (value{byte[253]}),兩個字節和一個uint。

如果我運行以下操作,我可以從數組中獲取對象,但是我試圖從對象中獲取byte []數據。

for (int i = 0; i < myArray.Length; i++) 
{ 
    object myObject = myArray.GetValue(i); 
} 

任何人都可以給我一些建議嗎?

+0

歡迎來到Stack Overflow。只要友善,您可以使用反引號來設置內聯代碼的格式。例如:'code is inted inline' – fontno

回答

0

難道你不能簡單地做到以下幾點嗎?

byte[] byteArray = myArray.GetValue(i)[0]; 

你的問題有點含糊,但我認爲這會有所幫助。

+0

您可能需要強制轉換:'(byte [])myArray.GetValue(i);'儘管如此,這很難說。正如你所指出的那樣,這個問題很模糊。 –

+0

對不起,如果我的問題含糊不清,我仍然在學習編程的過程,所以我仍然是一個年輕的蚱蜢。 如果我嘗試上述兩個建議中的任何一個,我會得到「InvalidCastException」或「無法將[]與[]應用於對象類型的表達式」。 字節數組當前位於一個對象內部,所以這是我試圖從中獲取數據的地方。有什麼我應該提供來幫助詳細說明問題嗎? – user2387470

+0

你是我所有的英雄!非常感謝你的幫助。即使所提供的答案都不是確切的答案,@JimMischel建議的演員將我引導至正確的搜索路徑以獲得解決方案。該DLL包含一個結構,我需要將我的對象轉換爲獲取我的數據。再次感謝你們! – user2387470

相關問題