2013-03-27 102 views
0

我在C#中有以下程序:TypeInitialization Exception

基本上,該程序投擲TypeInitializationException。我相信罪魁禍首是這條線:

static byte[] buffer = ToByteArray("Hello, this is a test message"); 

我試着改變靜態字段等,但它仍然給我錯誤。可以做些什麼來解決這個問題?

+1

實際stacktrace將是您的問題的一個很好的補充 – bas 2013-03-27 13:48:04

+0

將字節數組轉換爲字節是否合法?似乎很奇怪(沒有意義)...我不知道 – 2013-03-27 13:48:58

+0

你在方法返回之前檢查了字節數組的長度嗎? – 2013-03-27 13:50:26

回答

3

您在ToByteArray實施中出現錯誤Convert.ToByte(CharArray)。使用下一個代碼將字符串轉換爲Unicode編碼的字節數組。隨意更改編碼,無論你找到可以接受的,在Encoding類有用的,包括ASCIIUTF-8

public static byte[] ToByteArray(string StringToConvert) 
{ 
    return Encoding.Unicode.GetBytes(StringToConvert); 
} 
+0

非常感謝你:)它完美的工作 – Matthew 2013-03-27 13:51:23

0

,我認爲這是問題,

ByteArray[i] = Convert.ToByte(CharArray); 

使用

ByteArray[i] = Convert.ToByte(CharArray[i]);