编辑:呃,我刚刚意识到这个问题是针对 2.0 的,但如果你确实可以访问 3.5,我会留下它。
只是对 Linq 的另一种看法。现在我使用 List<Char> 而不是 Char[] 但这只是为了让它看起来更干净一些。数组上没有 IndexOf 方法,但 List 上有一个。为什么我需要这个?好吧,从我的猜测来看,替换列表和要替换的列表之间没有直接关联。只是索引。
所以考虑到这一点,你可以用 Char[] 来做这件事。但是当你看到 IndexOf 方法时,你必须在它之前添加一个 .ToList() 。
像这样: someArray.ToList().IndexOf
字符串文本;
List<Char> patternsToReplace;
List<Char> patternsToUse;
patternsToReplace = new List<Char>();
patternsToReplace.Add('a');
patternsToReplace.Add('c');
patternsToUse = new List<Char>();
patternsToUse.Add('X');
patternsToUse.Add('Z');
text = "这是一个可以替换的东西";
var allAsAndCs = text.ToCharArray()
。选择
(
currentItem => patternsToReplace.Contains(currentItem)
? patternsToUse[patternsToReplace.IndexOf(currentItem)]
:当前项目
)
.ToArray();
文本 = 新字符串(allAsAndCs);
这只是将文本转换为字符数组,通过每一个进行选择。如果当前字符不在替换列表中,则按原样发回字符。如果它在替换列表中,则返回替换字符列表相同索引中的字符。最后一件事是从字符数组创建一个字符串。
使用系统;
使用 System.Collections.Generic;
使用 System.Linq;