Nie zmienia znaków na stringu za pomocą metody Replace

0
 string word = "slowo slowo2";
 word.Replace(" ", "");
Console.WriteLine("{0}", word);

Dlaczego po zamianie znaku " " na "" nadal wyświetla ten " " znak ?

4

Ponieważ string jest immutable. Wywołanie Replace zwraca nowy obiekt string który jest już zmieniony.

  string word = "slowo slowo2";
  string word2 = word.Replace(" ", "");
  Console.WriteLine("{0}", word2);
0

Po co tworzyc nowy string

 string word = "slowo slowo2";
 word = word.Replace(" ", "");
  Console.WriteLine("{0}", word);
0

@Uczynny Kret Nowy string i tak się tworzy.

Gdybyśmy chcieli tu szpanować to by wyglądało tak:

  Console.WriteLine("slowo slowo2".Replace(" ", ""));

a tak nie wiem co wnosi twój post.

0

Wiem ze string jest immutable i chodzi mi oto zeby nie tworzyć nowej zmiennej.
A value z word bedzie "slowoslowo2".

czy nie lepiej jest zrobic:

  string word = "slowo slowo2";
 word = word.Replace(" ", "");
  Console.WriteLine("{0}", word);

niz:

   string word = "slowo slowo2";
  string word2 = word.Replace(" ", "");
  Console.WriteLine("{0}", word2);

? ;)

0

ps: wiem ze nowy string sie tworzy, chodzilo mi o zmienna ;)

1

@Uczynny Kret Tak czy tak nie ma tutaj żadnego znaczenia. Kodu produkcyjnego tu nie piszemy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1