2012-01-14 33 views
7

thể trùng lặp:
Does C# optimize the concatenation of string literals?như thế nào các dây concat C# biên dịch

string foo = "bar1" + "bar2" + "bar3"; 

Liệu C# biên dịch nội bộ áp dụng phương pháp String.Concat?

Sau đó, tốt hơn nên sử dụng toán tử + cho mục đích dễ đọc.

+2

có một bản dupe, xem [this] (http://stackoverflow.com/a/288913/368070) câu trả lời trên cùng một bài đăng. – gideon

+0

thx bạn có một điểm! – Pascal

Trả lời

3

Với literals, điều này tương đương với:

string foo = "bar1bar2bar3"; 

Không nối là performed- chúng được kết hợp tại thời gian biên dịch thành một hằng số.

+0

Tôi nghĩ rằng anh ta có nghĩa là trong trường hợp bạn muốn nói "string foo =" bar: "+ bar +" (thanh bar) ";' trong đó 'bar' không được biết tại thời gian biên dịch. – Tim

+5

Có thể, nhưng anh không viết câu hỏi theo cách đó. –

Các vấn đề liên quan