Trình biên dịch không thể biết những gì str2 chứa vì nó sẽ phải thực thi mã để biết nội dung của str2 khi bạn đang cách nối nó với "Hello" (nó có thể làm cho một số tối ưu và inline nó, vì nó không thay đổi, nhưng nó không làm điều đó). Hãy tưởng tượng một kịch bản phức tạp hơn, nơi str2 là một cái gì đó mà người dùng gõ vào. Thậm chí nếu người dùng đã gõ "thế giới" không có cách trình biên dịch có thể đã biết điều đó. Vì vậy, nó có thể không thực hiện các str3 so sánh == "Hello World" bằng cách sử dụng cùng một "Hello World" từ các hồ bơi liên tục được gán cho str3 và được sử dụng trong so sánh đầu tiên. Vì vậy, các trình biên dịch sẽ tạo ra sự nối bằng cách sử dụng StringBuilder và sẽ kết thúc việc tạo một String với giá trị Hello World, để so sánh sắc sẽ thất bại vì một đối tượng là một trong những từ hồ liên tục và một trong những khác là một trong đó đã vừa tạo ra.
đang được dịch, vui lòng đợi..