My C# (.NET 2.0) 응용 프로그램에는 2.5MB 용량의 StringBuilder 변수가 있습니다. 분명히, 큰 버퍼를 채울 때마다 더 큰 버퍼 공간에 복사하려고하지 않습니다. 이 시점에서 버퍼에 너무 많은 데이터가 있으므로 이전 데이터를 제거하는 것이 실용적인 옵션입니다. 누구나 내가이 일을 어떻게하는지에 대한 명백한 문제를 볼 수 있습니까? (즉, 제가 해결할 수있는 것보다 더 많은 성능 문제를 도입하고 있습니다.) 아니면 괜찮아 보입니까?StringBuilder 리소스 관리
tText_c = new StringBuilder(2500000, 2500000);
private void AppendToText(string text)
{
if (tText_c.Length * 100/tText_c.Capacity > 95)
{
tText_c.Remove(0, tText_c.Length/2);
}
tText_c.Append(text);
}
EDIT : 추가 정보 (밀리 초)에 새로운 데이터를 매우 빠르게 수신 본원에
직렬 연결을 통한. 이 새로운 정보를 여러 줄짜리 텍스트 상자에 너무 자주 배치하지 않으려 고하므로 응용 프로그램의 성능이 떨어 지므로 StringBuilder
에 저장합니다. 가끔씩 응용 프로그램은 StringBuilder
의 내용을 텍스트 상자에 복사하고 StringBuilder
내용을 지 웁니다.
이것은 의미가 없습니다. StringBuilder에는 이전 데이터가 필요하지 않은 항목이 있습니다. –
무엇을이 용도로 사용하십니까? – tzaman
제발 .. 무엇을하고 싶니? –