Microsoft MVP성태의 닷넷 이야기
Serialize , DeSerialize 관련 질문입니다! [링크 복사], [링크+제목 복사]
조회: 10315
글쓴 사람
Guest
홈페이지
첨부 파일
 

C# 에서

구조체를 Serialize 하여 BinaryFormatter로 저장을 하는데요.

제 프로그램의 특징상 구조체 변수가 추가, 삭제되거나 수정되는 경우가 빈번합니다.

그런데 구조체 안에 변수몇개를 추가한후

기존에 저장된 바이너리 파일을 DeSerialize 하게되면

새로 생성된 변수는 참조가 없는 현상이 생기는데요.

이 현상을 해결할 방법이 있나요?

질문의 요지.

1. 이미 직렬화 되어 바이너리로 저장된 파일을 구조체 형식이 바뀐뒤 역직렬화 했을때 참조가 없는부분은 Nullreferenceexception 오류가 뜨지않게 초기화 해서 처리하는방법

or

2. 구조체 변경이 잦은 경우에도 문제없이 데이터를 save , load 할수있는방법. (ini 형식 제외)


궁금합니다!








[최초 등록일: ]
[최종 수정일: 4/24/2015]


비밀번호

댓글 작성자
 



2015-04-24 12시33분
[Guest] // 보충설명

1 구조체 MyStruct 선언. 변수 int a, int b를 가지고 있음

2. MyStruct 를 직렬화 하여 파일로 A 저장.

3. 구조체 MyStruct 형식이 int a, int b , int c로 변경됨

4. 직렬화하여 저장하였던 파일 A를 역질렬화로 불러옴

5. c가 System.NullReferenceException 을 발생시킴.

-> 여기서 c가 nullReference 일경우 대체값 0으로 만드는 방법.
[guest]
2015-04-27 12시27분
이상하군요. 그런 경우 예외까진 발생하지 않을 텐데요. 혹시, 구현 가능한 최소 예제를 올려주시겠어요? ^^
정성태
2015-05-04 12시18분
[ryujh] 안녕하세요.
2번에서 파일로 저장 후
3번의 과정이 2번처럼 다시 직렬화하여 저장한 것인지요?

[guest]

... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
4884user8/31/20179296    답변글 [답변]: UI 변경 작업 여러개를 동시에 사용하려면 어떻게 해야되나요 ??파일 다운로드1
4881kmi8/30/20179487진행속도가 중간에 더뎌지는 문제가 있는데 해결할 수 있는 방법이 있나 궁금합니다. [3]
4880김호종8/29/20179887HTTP JSON POST 관련 질문 드립니다. [1]
4879aos8/27/201710057DateTime 표시할 때 포맷 설정시 밀리초까지 포함하는 법이 궁금합니다 [1]
4878heyh...8/25/201710150프로세스의 프로세스 찾기(?) [2]
4877강준8/24/20179352SQLite journal_mode=wal 관련하여 질문드립니다. [1]
4876heyh...8/23/20179586프로세스 초기화하기 [1]
4874ho8/22/20179656파일 확장자명을 이용해 파일의 실행 프로그램의 전체 경로를 얻어 올 수 있을까요? [1]
4875ho8/23/201710627    답변글 [답변]: 파일 확장자명을 이용해 파일의 실행 프로그램의 전체 경로를 얻어 올 수 있을까요? [1]
4873kmi8/21/201711453전역 변수를 쓰지 않고 여러 군데에서 같은 변수를 공용하는 방법이 궁금합니다. [4]
4872abcd8/18/201710130프로세스를 초기화 하는 명령어도 있나요? [1]
4871kmi8/17/201711448메모리 부족으로 종료되는 현상의 여러가지 이유가 무엇인지 궁금합니다. [2]
4870heyh...8/14/201710257프로그램 실행시 중복일 때 버튼 색깔 원래대로 돌리기 [1]
4868kmi8/4/20179567string[] 에 Reverse 적용방법 질문해봅니다 [3]
4867heyh...8/4/20179051EventHandler에 관한 [1]
486610년차8/3/20179497dsoframer axframer open시 기존 오픈되어있는 엑셀을 먹어버리는 현상 [1]
4865heyh...7/31/201711031클릭원스로 배포 한 프로젝트가 끝났는지 알 수 있는 방법 [8]
4864초보자7/28/201710041DllIImport질문 드립니다. [1]
4863다연아빠7/23/201710272전역 예외처리에 대해 질문있습니다. [3]
4861라르크7/17/201715537window form 예제 따라하는 중인데 12.3 서비스 응용 프로그램에서 진행이 안됩니다. [3]파일 다운로드1
4859heyh...7/10/201710180다른 환경에서 실행하기 [1]
4858heyh...7/10/201710032Clickonce update에 관한질문입니다. [1]
4857heyh...7/7/201710651제가 여태까지 작성한 보고서입니다. [2]파일 다운로드1
4856heyh...7/6/20179365성태님 다른질문입니다. [4]
4855JP7/6/201710059Dispose 패턴 구현시 Finalize 재정의에 대한 질문드립니다. [2]
4854heyh...7/6/20179491
... 31  32  33  34  35  36  37  38  [39]  40  41  42  43  44  45  ...