Re: [問題] 關於在C#將自訂的Class以二進位寫到檔긠…

看板C_Sharp作者 (楊伯)時間15年前 (2010/12/27 21:53), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
※ 引述《yan04870449 (楊伯)》之銘言: : 在C++ 我可以像下面這樣子來將某個物件寫到檔案裡 : class AA : { : public: : int a; : int b; : char c; : }; : int main() : { : AA A1; : A1.a = 10; : A1.b = 20; : A1.c = 'A'; : char* buff = (char*)&A1 ; : ofstream outfile; : outfile.open ("test.txt"); : if (outfile.is_open()) : { : outfile.write(buff,sizeof(AA)); : outfile.close(); : } : else : { : cout << "Error opening file"<<endl; : } : } : 我在網路上有查到可以使用c# Serialize,雖然我不太熟這個方法,但是 : 這個方法在我的環境是不被支援的。 : 請問板上前輩,在c#我應該往那個方向查詢才能做到跟上面的結果一樣呢? 先感謝前篇前輩的回應。 我現在已經知道怎麼處理了,但是我還遇到另外一個問題, 當我在A程式把某個class用Serialize的方式寫到一個檔案之 後再用B程式去讀,這時會發生找不到組件的錯誤,但如果把 A程式的寫檔跟B程式的讀檔寫成同一個程式,那就不會發生這 問題。 另外我發現我用序列化寫出去的binary檔案在最前面會被加上 一串類似KEY的字串,似乎是因為這串字串導致錯誤。 麻煩前輩們指導!>< 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.128.56

12/28 23:35, , 1F
silverlight wp7可以serialize成 XML PC版應該也可
12/28 23:35, 1F

12/28 23:35, , 2F
你一定要binary嗎?
12/28 23:35, 2F

12/28 23:37, , 3F
你現在是用binaryformatter??
12/28 23:37, 3F

12/29 00:42, , 4F
把Class定義移到dll裡面,兩隻程式共用dll試試?
12/29 00:42, 4F

12/29 21:52, , 5F
12/29 21:52, 5F

12/30 23:26, , 6F
E大的方法讓我解決問題了@@,感謝。
12/30 23:26, 6F
文章代碼(AID): #1D69f6BV (C_Sharp)