我正在尝试在类的属性中找到特定的字符串,如果找到,则将其替换为另一个字符串。我使用Linq尝试了各种方法,但无法替换它。在调试模式下,当我再次监视对象时,replace命令无效。请帮忙。包括下面的示例示例。
class Tryreplace
{
public string ClubName { get; set; }
}
List<Tryreplace> tryreplaces = new List<Tryreplace>();
Tryreplace tryreplace = new Tryreplace { ClubName = "Manchester United FC" };
Tryreplace tryreplace2 = new Tryreplace { ClubName = "Arsenal FC" };
tryreplaces.Add(tryreplace);
tryreplaces.Add(tryreplace2);
Run Code Online (Sandbox Code Playgroud)
尝试了以下2种方法,但两种方法均无效...
tryreplaces.ForEach(x => x.ClubName.Replace("Manchester", "Newcastle"));
List<Tryreplace> tryreplaces2 = tryreplaces.Select(x => { x.ClubName.Replace("Manchester", "Newcastle"); return x; }).ToList();
Run Code Online (Sandbox Code Playgroud)
毕竟,我只看到曼彻斯特,而不是纽卡斯尔。
我希望在对象中而不是在曼彻斯特看到替换的字符串纽卡斯尔。请帮忙!
查看方法中的官方文档String.Replace()
:
返回一个新字符串,在该字符串中,当前实例中所有出现的指定字符串都被另一个指定字符串替换。
因此,您将需要如示例中所示设置属性:
tryreplaces.ForEach(x => x.ClubName = x.ClubName.Replace("Manchester", "Newcastle"))
Run Code Online (Sandbox Code Playgroud)