2017-12-05 2 views
0

나는 문자열 작성자를 사용하여 선택 사항에 따라 정보를보다 효율적으로 처리합니다.이 옵션을 켜면 켜기 옵션을 켜면 목록에 추가됩니다. 임 궁금이 매 초마다 (최소), 및 IM을하고, 더 나은 내가 더 나은 메모리 관리를 가지고이 두 가지 중 어느 모르겠습니다 StringBuilder.Clear(); 또는 StringBuilder.Lenght = 0;Xamarin 안드로이드 - 처리 StringBuilders

사용하고, 누군가가 여기 알고 희망 메신저입니다. 아니면 차이점이 있습니다.

답변

1

Clear()Length보다 나중에 도입되었습니다 (4.0 이후). 그것이 가장 큰 차이점입니다. 낮은 .NET 버전을 지원하지 않는다면 Clear()으로 이동하십시오. 성과가있는 Length = 0은 더 빠르다. 왜냐하면 Clear()이 그것을 인턴이라고 부르기는하지만, 특히 초당 한 번만 호출한다면 큰 차이가 없어야한다. Premature Optimization을 피하십시오. Clear()은 더 읽기 쉽기 때문에 성능상 중요한 시나리오에서 Length = 0 만 사용합니다. 다른 옵션이 부족합니다. 모노는 같은 구현을 사용

// Convenience method for sb.Length=0; 
public StringBuilder Clear() { 
    this.Length = 0; 
    return this; 
} 

https://referencesource.microsoft.com/#mscorlib/system/text/stringbuilder.cs

:

는 마이크로 소프트의 소스 구현입니다.

https://github.com/mono/mono/blob/master/mcs/class/referencesource/mscorlib/system/text/stringbuilder.cs

+0

감사합니다. 내 앱이 데이터 가져 오기 및 계산 (그리고 검사 할 경우)을 한꺼번에 실행하는 것을 고려할 때 가능한 한 많은 성능이 필요하므로 Lenght = 0을 대신 사용합니다. 각 업데이트 간격을 추가하면됩니다. stringbuilder를 포함하는이 함수는 성능 오버 헤드를 초래할 수 있습니다. – Nevaran

관련 문제