C # ciąg konkatenacji i internowanie łańcuchów

głosy
4

Podczas wykonywania ciąg concatentation istniejącego łańcucha w intern basenie, to nowy ciąg wszedł do puli stażysta lub jest odniesienie wrócił do istniejącego łańcucha w intern basenie? Zgodnie z tym artykułem, String.Concat StringBuilder i wstawi nowe instancje ciągów do intern basenie?

http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx

Czy ktoś może wyjaśnić jak konkatenacji współpracuje z stażysta basenie?

Utwórz 01/09/2008 o 15:41
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
4

Jeśli tworzysz nowe struny, nie będą automatycznie wprowadzane do puli stażysta, chyba że złączyć stałe w czasie kompilacji, w którym to przypadku kompilator utworzy jeden wynik ciąg i stażystę, że w ramach procesu JIT.

Odpowiedział 01/09/2008 o 15:44
źródło użytkownik

głosy
0

Można sprawdzić, czy ciąg został internowany przez wywołanie String.IsInterned. Wezwanie powróci nowy ciąg znaków, który jest albo odniesienie do internowany ciąg równy ciąg, który został przekazany jako argument, lub nulljeśli ciąg nie został internowany.

Odpowiedział 01/09/2008 o 16:11
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more