如何替换维度中的“值”? 我的字符串尺寸如下:
string[] map = new string[]
{
"+--------------------------------------------------------------------------+",
"|{0}X2X3X4X5X6X7X8X9X10 B |",
"|A X |",
"|XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX |",
"|XXX |",
"|XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"|XXX X |",
"|XXX XXXX |",
"| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"| |",
"| |",
"+--------------------------------------------------------------------------+",
};
我只需要将{0}替换为“ C”
我尝试
map.Replace
,但是在这一点上如何替换值不起作用?
替换后,它应该像:
string[] map = new string[]
{
"+--------------------------------------------------------------------------+",
"|CX2X3X4X5X6X7X8X9X10 B |",
"|A X |",
"|XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX |",
"|XXX |",
"|XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"|XXX X |",
"|XXX XXXX |",
"| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"| |",
"| |",
"+--------------------------------------------------------------------------+",
};
在普通字符串中,使用以下方法很容易:
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<productOrderNumber>{0}</productOrderNumber>";
var NewXML = String.Format(xml, "HI");
我如何用string []做同样的事情?请在我的示例中进行解释。
答案 0 :(得分:1)
String.Format()
用于字符串,在您的情况下,它是string []。所以它不像您期望的那样工作
要“格式化”字符串,必须对每个字符串执行操作,方法是Select
,紧随其后
map = map.Select(x => string.Format(x, "C")).ToArray();
如果您只想更新问题的第二行
尝试
map[1] = string.Format(map[1] , "C");
答案 1 :(得分:0)
您不能直接在字符串数组上使用“替换”,而必须选择单个项目然后使用“替换”。
map = map.Select(x => x.Replace("{0}", "C")).ToArray();