我尝试将包含“TEMPDOCUMENTLIBRARY”的文件名替换为“SHAREDDOCS” docs(Typed Dataset)。但不知何故,它根本不会取而代之。 怎么了?
for (int index = 0; index < docs.Document.Rows.Count; index++)
{
if (docs.Document[index].FileName.Contains("TEMPDOCUMENTLIBRARY"))
{
docs.Document[index].BeginEdit();
docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
docs.Document[index].EndEdit();
}
}
答案 0 :(得分:4)
字符串是不可变的(意味着给定字符串的值永远不会改变)。像Substring
和Replace
这样的函数会返回 new 字符串,这些字符串表示执行了所需操作的原始字符串。
为了达到你想要的效果,你需要这个:
docs.Document[index].FileName =
docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
答案 1 :(得分:2)
String.Replace
无法替换。尝试:
docs.Document[index].FileName = docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
请注意文档(上面链接),它返回替换的结果。