문자열 개체에 일종의 사용자 지정 바이너리 데이터를 저장할 수 있습니까?문자열에 데이터 저장
예를 들어, 바이트 시퀀스를 나타내는 "Hello!"
문자열이 있습니다.
나에게 의미있는 문자열에 추가 바이트를 저장할 수 있습니까?
예를 들어, 문자열의 길이를 나타내는 여분의 바이트.
에 .NET의 디코더 (이 바이트를 디코딩)에게 사용자 지정 바이트를 무시하도록 지시하는 방법이 있습니까?
문자열 개체에 일종의 사용자 지정 바이너리 데이터를 저장할 수 있습니까?문자열에 데이터 저장
예를 들어, 바이트 시퀀스를 나타내는 "Hello!"
문자열이 있습니다.
나에게 의미있는 문자열에 추가 바이트를 저장할 수 있습니까?
예를 들어, 문자열의 길이를 나타내는 여분의 바이트.
에 .NET의 디코더 (이 바이트를 디코딩)에게 사용자 지정 바이트를 무시하도록 지시하는 방법이 있습니까?
정말 그렇게 생각하면 안됩니다. 원하는 것을 수행하는 클래스를 작성하는 방법 :
public class myString
{
public string stringValue;
public byte someSpecialByte;
public override string ToString()
{
return stringValue;
}
}
그런 다음 클래스에 원하는 정보를 저장할 수 있습니다.
myString s = new myString();
s.stringValue = "Hello!"
s.someSpecialByte = 0;
편집 (생성자 코멘트에 대응) :
클래스에이 추가 : 길이의 구체적인 사례를 들어
public myString(){} //default constructor
public myString(string sValue, byte specialByte)
{
stringValue = sValue;
someSpecialByte = specialByte;
}
정확히 내가 제안하려고했던 것. – elnigno
문자열 값과 바이트 값을 사용하는 생성자를 포함합니다. – Dismissile
C#의 코딩 규칙은 클래스 이름에 PascalCase를 사용하는 것입니다. –
,'String' 개체는 이미 제공 그래서 "숨겨진 바이트"에 저장할 필요가 없습니다. 하지만 일반적으로 왜 그렇게하고 싶습니까? – elnigno
원래 문자열의 "* footprint *"를 저장하려고하므로 나중에 조작 된 문자열에서 다시 검색 할 수 있습니다. 이 연습은 단지 재미를위한 것입니다. –
@MatiCicero 문자열은 변경할 수 없으므로 "조작"할 수 없습니다. –