2014-11-01 2 views
-1

나쁜 영어로 죄송합니다. 그래서 문제가 있습니다. 내 필요는 문자열 배열의 각 문자열에서 특정 문자를 대체하는 것입니다. 모든 변화는 독특해야합니다. 문제는 배열이 10000 개의 요소를 포함한다는 것입니다. 특정 범위의 요소에서 기호를 변경하는 방법 만 알고 있지만 루프를 올바르게 사용하는 방법을 알 수는 없습니다. 여기까지 내가 지금까지 무엇을 생각해 냈습니다 :큰 문자열 배열의 특정 문자 변경

String str1 = "String that contains 100+ symbols"; 
StringBuilder strBuilder = new StringBuilder(str1); 
var replace = strBuilder.Replace('a', 'b').ToString(); 
stringArray = (from i in Enumerable.Range(0, 500) select replace).ToArray(); 

글쎄요. 하나의 문자열이 다음이 문자열로 10000 요소를 포함하는 배열을 채울 필요가. 그런 다음 각 문자열에서 일부 문자를 바꾸거나 변경해야합니다. 치환은 반복되지 않아야하며, 각 문자열은 고유해야하지만 초기 문자열과 큰 차이가 없어야합니다. 나는 내 일을 위해서 이걸 필요해.

+0

내가 당신의 질문이 명확하지 않다 생각합니다. 컨텍스트를 얻으려면 좀 더 많은 코드를 제공하십시오. 원하는 입출력을 샘플링합니다. –

+0

10000 개의 동일한 문자열을 포함하는 문자열 배열이 있습니다. 각 문자열에서 일부 cahracters를 배치해야합니다. 각 교체는 고유해야합니다. – stk213

답변

0

당신은 쌍을 반복하여 각 교체를 Dictionary에 키 값 쌍으로 교체를 저장하고 적용 할 수 있습니다

var replacements = new Dictionary<char, char>(); 
replacements.Add('a', 'b'); 
// add other pairs... 

for(int i = 0; i < stringArray.Length; i++) 
{ 
    var sb = new StringBuilder(stringArray[i]); 
    foreach(var kvp in replacements) 
    { 
     sb.Replace(kvp.Key, replacements[kvp.Key]); 
    } 
    stringArray[i] = sb.ToString(); 
} 
관련 문제