編集:うーん、この質問は2.0に関するものだと気づきましたが、3.5にアクセスできる場合に備えて、そのままにしておきます。
Linqのことについてのもう1つの見方。今はChar[]の代わりにList<Char>を使用しましたが、それは少し見栄えを良くするためです。配列にはIndexOfメソッドはありませんが、Listには1つあります。なぜこれが必要だったのですか?私が推測していることから、置換リストと置換されるリストの間に直接的な相関関係はありません。ただのインデックス。
したがって、それを念頭に置いて、Char[]を使用してこれを行うことができます。ただし、IndexOfメソッドが表示されたら、その前に.ToList()を追加する必要があります。
このように:someArray.ToList()。IndexOf
文字列テキスト;
List <Char> PatternsToReplace;
List <Char> patternToUse;
patternToReplace = new List <Char>();
patternToReplace.Add('a');
patternToReplace.Add('c');
patternToUse = new List <Char>();
patternToUse.Add('X');
patternToUse.Add('Z');
text="これはものを置き換えるものです";
var allAsAndCs = text.ToCharArray()
。選択する
((
currentItem => patternToReplace.Contains(currentItem)
?patternToUse [patternsToReplace.IndexOf(currentItem)]
:currentItem
)。
.ToArray();
text = new String(allAsAndCs);
これは、テキストを文字配列に変換し、それぞれを選択するだけです。現在の文字が置換リストにない場合は、文字をそのまま返送してください。置換リストにある場合は、置換文字リストと同じ索引にある文字を返します。最後に、文字配列から文字列を作成します。
システムを使用する;
System.Collections.Genericを使用します。
System.Linqを使用します。