在C#如果我現在是在bytes
那麼我將其轉換成string
那麼什麼將是這個內存以及如何同時使用可變的大型字符串做更好的內存管理的影響表單數據的4-5 GB
?內存管理如何在字節和字符串之間工作?
代碼
public byte[] ExtractMessage(int start, int end)
{
if (end <= start)
return null;
byte[] message = new byte[end - start];
int remaining = Size - end;
Array.Copy(Frame, start, message, 0, message.Length);
// Shift any remaining bytes to front of the buffer
if (remaining > 0)
Array.Copy(Frame, end, Frame, 0, remaining);
Size = remaining;
ScanPosition = 0;
return message;
}
byte[] rawMessage = Buffer.ExtractMessage(messageStart, messageEnd);
// Once bytes are received, I want to create an xml file which will be used for further more work
string msg = Encoding.UTF8.GetString(rawMessage);
CreateXMLFile(msg);
public void CreateXMLFile(string msg)
{
string fileName = "msg.xml";
if (File.Exists(fileName))
{
File.Delete(fileName);
}
using (File.Create(fileName)) { };
TextWriter tw = new StreamWriter(fileName, true);
tw.Write(msg);
tw.Close();
}
一個**很多**的上下文在這裏是缺少的。 –
我只是想知道字節和字符串之間的內存管理,所以我沒有顯示任何代碼。請不要反對,如果你有知識分享 – Gaurav123
這是你需要的第一點知識:**這取決於語言。** –