지그재그 배열을 하드 드라이브에 저장하여 나중에로드하는 간단한 방법을 찾고 있습니다. C# 뒤틀린 배열을 드라이브에 저장하십시오.
내가이 문제에 대한이 게시물 ... Save and load a jagged array발견 ...하지만 난 힘든 시간을 이해하고 난이 일을 더 쉬운 방법이있을 것 같아요.
내가 저장하기 위해 노력하고있어 배열은
다른 솔루션에 대한 모든 아이디어 8킬로바이트 ~의 크기는?
지그재그 배열을 하드 드라이브에 저장하여 나중에로드하는 간단한 방법을 찾고 있습니다. C# 뒤틀린 배열을 드라이브에 저장하십시오.
내가이 문제에 대한이 게시물 ... Save and load a jagged array발견 ...하지만 난 힘든 시간을 이해하고 난이 일을 더 쉬운 방법이있을 것 같아요.
내가 저장하기 위해 노력하고있어 배열은
다른 솔루션에 대한 모든 아이디어 8킬로바이트 ~의 크기는?
사용 MemoryStream을은 :
double[][,] myJaggedArr = ...
var data = SerializeToStream(myJaggedArr);
var data2 = DeserializeFromStream(data) as double[][,];
public static MemoryStream SerializeToStream(object o)
{
MemoryStream stream = new MemoryStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, o);
return stream;
}
public static object DeserializeFromStream(MemoryStream stream)
{
IFormatter formatter = new BinaryFormatter();
stream.Seek(0, SeekOrigin.Begin);
object o = formatter.Deserialize(stream);
return o;
}
고마워, 그게 완벽 해. –
한 가지 더 질문 : Type을 MemoryStream 및 Double [] []로 설정하는 대신 data 및 data2에 "var"를 사용하는 이유가 있습니까? –
var이 더 일반적이고 정확한 유형을 명시 적으로 입력 할 필요가 없습니다. – David
당신은 JSON 직렬화를 시도? –
나는 결코 직렬화를 사용하지 않았다. 이론적으로 어떻게 작동하는지는 알지만 꽤 많이 있습니다. JSON 직렬화를 사용하면 유망한 것으로 보입니다. 그것에 대해 자세히 알아 보려면 시작해야 할 팁이 있습니까? –
.NET (JavascriptSerializer)에 내장 된 Json 직렬화가 있지만 대부분의 경우 Json.Net을 사용하는 것이 좋습니다. 'JsonConvert.Serialize()'는 들쭉날쭉 한 배열에서 작동해야합니다. 그러나 가독성과 상호 운용성에 비해 효율성/압축성이 필요한 경우 'MemoryStream' 답변이 도움이 될 수 있습니다. –