gpt4 book ai didi

c# - 嵌套字符串插值

转载 作者:行者123 更新时间:2023-12-04 14:41:09 24 4
gpt4 key购买 nike

我在 C# 6 中遇到了嵌套字符串插值的问题。

例如,有一个字符串:

string test = "StartText MiddleText1 MiddleText2 EndText";

如果我只想对 MiddleText1 应用 ToUpper() 方法,我可以这样做:
string test = $@"StartText {"MiddleText1".ToUpper()} MiddleText2 EndText";

但是如果我想对字符串的这一部分应用字符串方法,例如 Replace() 怎么办:
{"Middletext1".ToUpper()} MiddleText2

我预计这样的事情会起作用:
string test = $@"StartText {"{"MiddleText1".ToUpper()} MiddleText2".Replace("x", "y")} EndText";

但是这种语法是错误的 - 我已经尝试了很多变体,使用了配额,但我无法为此目的获得正确的语法。
我不希望将字符串拆分为不同的部分。有没有办法只使用插值功能来解决它​​?

最佳答案

停止尝试在一行中完成所有事情是我的建议

以下是答案

var middle = "MiddleText1";
middle = middle.ToUpper();

var middle2 = $"{middle} MiddleText2";
middle2 = middle2.Replace("x", "y");

string test = $"StartText {middle2} EndText";

当你把它们加在一起时。
string test = $"StartText {$"{"MiddleText1".ToUpper()} MiddleText2".Replace("x", "y")} EndText";

简而言之,您只是缺少一个 $
但是,即使这样也很困惑,因为我不确定所有替换的目的是什么,文本来自哪里,以及您要解决的问题是什么

关于c# - 嵌套字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53384153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com