2014-06-20 4 views
0
)

저는 이전 C++ 콘솔 앱 중 일부를 변환하여 C#을 배우려는 노력을 기울였습니다. 나는 C#이 string.Replace를 가지고 있다는 것을 알고있다; 그러나 난 힘든 시간이 방법을 그것의 cpp 대응 기능, 사용자 입력 내에서 선택한 문자를 바꿉니다 않는 일을하고있어. C++C#/C++ 간의 차이점 교환 (

string str; 

getline(cin, str); 

for (char &i : str){ 

     replace(str.begin(), str.end(), 'a', '4'); 
     replace(str.begin(), str.end(), 'A', '4'); 
       ... 
       } 
cout << "Translated text: " << str << endl; 
} 

C#을

string str; 

str = Console.ReadLine(); 

foreach (char c in str){ 

    str.Replace('a','4'); 
    str.Replace('A', 4'); 
} 
Console.WriteLine("Translated Text: " + str); 
} 

답변

3

의 C# 문자열은 불변, 그래서 그들을 변경 어떤 방법 대신 원본을 수정하는 새로운 문자열을 반환합니다.

str = str.Replace('a','4'); 
str = str.Replace('A', 4'); 
+0

대체로 재정의 한 후에도 문제가 없습니다. 감사! – chrisl0lz