Tôi thực sự không thể nói chính xác liệu điều này có giúp ích cho hiệu suất của bạn hay không. Nó sẽ phụ thuộc vào số lượng chuỗi bạn sử dụng và tần suất bạn tạo các phiên bản của các chuỗi đó. Interning thường được thực hiện tự động, do đó kiểm tra rõ ràng nếu chuỗi được thực tập có thể thực sự tăng chi phí của bạn và giảm hiệu suất của bạn. Khi nói đến việc sử dụng bộ nhớ, chuỗi nội bộ chắc chắn có thể sử dụng ít bộ nhớ hơn.
Nếu bạn muốn sử dụng chuỗi ký tự, có một số cách tốt hơn để đạt được nó. Đầu tiên và quan trọng nhất, tôi sẽ gắn các tên phần tử của bạn trong một lớp tĩnh với đầy đủ các hằng số chuỗi công khai. Bất kỳ chuỗi ký tự nào được tìm thấy trong mã nguồn chương trình của bạn chắc chắn và được tự động tập trung. Các chuỗi như vậy được tải vào hồ bơi thực tập khi ứng dụng của bạn được tải. Nếu chuỗi của bạn không thể được định nghĩa là hằng số cho việc chuẩn bị thực tập biên dịch, thì tôi chỉ cần gọi String.Intern (...) thay vì thực hiện biểu thức ternary đầy đủ String.IsInterned (...)? ...: String.Intern (...). Phương thức Intern sẽ tự động kiểm tra xem chuỗi có được interned hay không, trả về phiên bản interned nếu nó là, và nếu không sẽ thêm chuỗi vào pool intern và trả về nếu nó không được. Không cần phải tự kiểm tra IsInterned mình.
Một lần nữa, tôi không thể nói liệu chuỗi thực tập thủ công có cải thiện hiệu suất hay không. Nếu bạn sử dụng các hằng số, chúng sẽ được tự động interned cho bạn, theo cách tối ưu nhất, và đó là cách tiếp cận tốt nhất để cải thiện hiệu năng và sử dụng bộ nhớ của các chuỗi được sử dụng lại thường xuyên. Tôi thành thật khuyên bạn nên tránh xa việc thực hiện thủ công, và để cho trình biên dịch và xử lý thời gian chạy tối ưu hóa cho bạn.
gợi ý chung của tôi với điều này sẽ là - thử nó cho mình và đo lường nếu nó làm cho bất kỳ sự khác biệt ... (Mặc dù tôi biết nó không phải là thực sự những gì bạn đang sau ...) – Rashack
@Rashack tôi dự định để kiểm tra nó, nhưng tôi cũng nghĩ rằng đó là một câu hỏi hợp lệ và tôi không thấy một câu hỏi liên quan trực tiếp đến phân tích cú pháp văn bản, chẳng hạn như nội dung dựa trên HTML hoặc XML. :) –