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;