2014-09-15 3 views
-6

Что означает «строки неизменяемы в C#». Мне нужно несколько примеров, чтобы понять this.I не может найти некоторые правильные примеры, чтобы понять этоПримеры для понимания непоследовательности строк в C#

+0

Каждый раз, когда вы меняете строку, новая строка сделана. Вы не можете изменить существующую строку, следовательно, неизменную. –

+0

'string s =" bob "; s [2] = 'a'' не допускается. Вы не можете изменить строку. Это то, что подразумевается под «неизменностью». – BradleyDotNET

+1

@PeteGarafano Весь смысл неизменности в том, что * вы не можете изменить строку *. Дело не в том, что вы можете изменить строку, и это создаст новую. – Servy

ответ

1

Это означает, что если назначить

string s = "Hello"; 

вы не можете изменить строку s. Таким образом, если вы

s = "Goodbye"; 

буквальным «Hello» не изменен, а новый буквальный «Goodbye» присваивается с.

-2

Поиска по тексту «строки неизменны в C#» Я считаю: http://msdn.microsoft.com/en-us/library/362314fe.aspx

Который, кажется, говорят, что строки никогда не изменяются объектами, они всегда уничтожены и созданы заново.

Per Microsoft:

Strings are immutable--the contents of a string object cannot be changed after the 
object is created, although the syntax makes it appear as if you can do this. 
For example, when you write this code, the compiler actually creates a new string object 
to hold the new sequence of characters, and that new object is assigned to b. The string "h" 
is then eligible for garbage collection. 

string b = "h"; 
b += "ello"; 
Смежные вопросы