2011-06-21 27 views
1

文字列配列があり、その配列の値を置き換えたいとします。文字列配列内の項目を置き換えます。

例:

string[] stud = new[] {"1","12","Mark","M"}; 
string[] otherStud = new [] {"2","16","MarkMark","F"}; 

私はその後、

結果でなければなりません結果、TomMarkを交換したい:

string[] stud = new [] {"1","12","Tom","M"}; 
string[] otherStud = new [] {"2","16","TomTom","F"}; 

は、任意の解決策を提案してください。

+1

を置き換えることができます。 –

+0

@Daniel Hilgarth。今はそうです。 – Jehof

答えて

0

使用forおかげで、ループを使用String.Replaceインチあなたはそれがどのように見えるべきかを理解することができます。 :)

+0

私はそれをしましたが、 "MarkMark"を "TomTom"に置き換える際に問題が発生しています – usr021986

+1

'Replace'は古い文字列のすべてのインスタンス上で動作しますので、' MarkMark ".Replace(" Mark "、" Tom ")' 'TomTom"を取得します。 Replaceは新しい文字列を返す文字列を変更しないことに注意してください。 –

0

あなたはforeachのを使用して文字列配列を通過することができますし、有効なコードません必要な文字列

0
string[] stud = { "1", "12", "Mark", "M", "2", "16", "MarkMark", "F" }; 
for (int i = 0; i < stud.Length; ++i) 
    stud[i] = stud[i].Replace("Mark", "Tom"); 
+0

2番目の結果は "Tom"として返されますが、 "TomTom"としたい場合 – usr021986

+0

実行しただけであれば、 "TomTom"を返すことになります:) –

+0

私はそれを実行しました。唯一のTom – usr021986

9
stud = stud.Select(s => s.Replace("Mark","Tom")).ToArray(); 
-2

stud.Select(x => x != "Mark" ? x : "Tom");

+3

"MarkMark"から "TomTom"までは動作しません。 –

+1

@Chony、あなたはあなたの解決策を複雑にしています。 –

1
string[] stud = {"1", "12", "Mark", "M"}; 
     for (int i = 0; i < stud.Count(); i++) 
     { 
      stud[i] = stud[i].Replace("Mark", "Tom"); 
     } 
+0

しかし、 "マークマーク"の場合、 "TomTom" – usr021986

関連する問題