이론적으로 디자이너는 원래 입력 텍스트를 저장할 수 있습니다. 그러나 비주얼 디자이너는 이러한 값 (예 : 왼쪽, 위쪽 등)을 수정할 수도 있기 때문에 직렬화 중에이 저장 장치를 컨트롤의 값과 조정해야합니다. 이것은 디자이너가 입력 한 텍스트 값을 저장하지 않고 텍스트를 가져 와서 컨트롤에 배치 할 수있는 값으로 변환하는 이유 중 하나입니다. 그것을 직렬화해야 할 때 그냥 컨트롤의 속성을 읽고 그들을 씁니다. 저장하기 전에 십진법의 세부 사항을 조사하여 사용할 생성자를 최적화하는 것이 중요하지 않습니다. 10 진수 형식의 가능한 모든 값을 처리해야하므로 int []는 십진수가 나타내는 모든 값에 대해 왕복 안정적인 저장 메커니즘을 제공합니다.
BTW, 다음 소수의 내부 구성을 간략하게 설명
- 비트는 32 비트 부호있는 정수 네 소자 어레이이다.
- 비트 [0], 비트 [1] 및 비트 [2]에는 96 비트 정수의 하위, 중간 및 상위 32 비트가 포함됩니다.
- 비트 [3]은 스케일 팩터 및 기호를 포함하고, 다음의 부분으로 구성
- 비트 0 하부 단어 (15), 미사용 제로이어야한다.
- 비트 16에서 23까지는 0에서 28 사이의 지수를 포함해야합니다.이 지수는 정수를 나눌 10의 지수를 나타냅니다.
- 비트 24-30은 사용되지 않으므로 0이어야합니다.
- 비트 31에는 부호가 있습니다. 0은 양수를 의미하고 1은 음수를 의미합니다.
업데이트 :
당신이 "설명 할 ... 비주얼 디자이너는 이러한 값을 수정할 수 있기 때문에 ... 그것은 컨트롤의 값에 대해이 스토리지를 조정해야 할 것입니다 직렬화 중 ... "자세히 설명하겠습니까?
확실히."디자이너가 왜 값을 입력하는 대신 양식을 사용합니까?"라는 질문에 대한 문자 적 해석을 다루려고했습니다. 기본적으로 내가 말한 것은 디자이너가 "-65535"라고 입력 한 정확한 텍스트 값을 추적하지 않는다는 것입니다. 대신 decimal.Parse (...)와 같은 것을 사용하여 소수로 변환합니다. 그런 다음이 십진수를 컨트롤의 값 (이 경우 NumericUpDown.Minimum)에 배치합니다. 뒤이어 각 속성 값을 읽음으로써 xxxx.Designer.cs 파일에서 컨트롤의 상태를 serialize합니다. 따라서 입력 한 원본 텍스트 "-65535"의 복사본은 더 이상 없지만 결과 십진수 만 복사합니다.
"이 저장 조정 ..."을 참조하는 부분은 사용자가 입력 한 원본 텍스트를 추적하는 것뿐만 아니라 일부가 변경 한 값을 검색하는 것도 어렵다는 것을 지적하기위한 것입니다 other는 원본 텍스트 입력을 의미합니다.
죄송합니다. 여전히 혼란 스럽다면 문제를 설명하는 데 어려움이 있습니다. C#, C++, SQL 및 JScript 바로 뒤에 영어가 제 5 언어입니다. 모두 영어보다 의미가 훨씬 더 명확합니다.
비주얼 디자이너도이 값을 수정할 수 있기 때문에 직렬화 중이 값을 컨트롤의 값과 조정해야합니다 ... 자세히 설명하겠습니까? – JeffH