C# 替换维度字符串[]中的值
如何替换维度中的值? 我的字符串维度如下所示:C# 替换维度字符串[]中的值,c#,multidimensional-array,replace,C#,Multidimensional Array,Replace,如何替换维度中的值? 我的字符串维度如下所示: string[] map = new string[] { "+--------------------------------------------------------------------------+", "|{0}X2X3X4X5X6X7X8X9X10 B
string[] map = new string[]
{
"+--------------------------------------------------------------------------+",
"|{0}X2X3X4X5X6X7X8X9X10 B |",
"|A X |",
"|XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX |",
"|XXX |",
"|XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"|XXX X |",
"|XXX XXXX |",
"| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"| |",
"| |",
"+--------------------------------------------------------------------------+",
};
string[] map = new string[]
{
"+--------------------------------------------------------------------------+",
"|CX2X3X4X5X6X7X8X9X10 B |",
"|A X |",
"|XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX |",
"|XXX |",
"|XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"|XXX X |",
"|XXX XXXX |",
"| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"| |",
"| |",
"+--------------------------------------------------------------------------+",
};
我需要将{0}替换为ie C
我试着用
map.Replace但它不起作用我如何替换这一点上的值
更换后,其外观应如下所示:
string[] map = new string[]
{
"+--------------------------------------------------------------------------+",
"|{0}X2X3X4X5X6X7X8X9X10 B |",
"|A X |",
"|XXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXX |",
"|XXX |",
"|XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"|XXX X |",
"|XXX XXXX |",
"| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX|",
"| |",
"| |",
"+--------------------------------------------------------------------------+",
};
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");
如何对字符串[]执行相同的操作?请解释我的示例。您不能直接在字符串数组上使用替换,您必须选择单个项,然后使用替换
map = map.Select(x => x.Replace("{0}", "C")).ToArray();
String.Format用于String,在您的例子中,它是String[]。所以它不像你期望的那样工作
若要格式化字符串,必须通过选择以下选项对每个字符串执行操作
map = map.Select(x => string.Format(x, "C")).ToArray();
如果你只想更新你问题的第二行
试一试
这不是维度,而是数组。看复制件。你说得对,谢谢。是的,它工作得很好!谢谢,answear更好,效果也更好,但是当我想替换单线图[1]时,会怎么样呢?如何仅替换第1行中的字符?您可以对单个字符以及整行使用相同的Select。只需使用char而不是{0}。你试过了吗?有错误吗?我试过了,但您的示例替换了整个数组中的{0}。当我在另一行中有{0}和{0}时,它们都将被C替换。您能编辑您的答案并添加代码吗?如何替换所选行?例如,仅在nunmber 1 map[1]行中将{0}替换为C。无法执行该映射[1]=映射[1]。请选择x=>x.Replace{0},C.ToArray;