C# 替换二维数组中的字符串值

C# 替换二维数组中的字符串值,c#,arrays,2d,C#,Arrays,2d,我试图替换2d数组中的字符串值,并尝试了下面的代码,但什么都没有发生 foreach (string item in Arr) { if (UserInput.Equals(item)) { item.Replace(UserInput, "X "); } } 同样的道理,这些代码什么都没有发生 Console.WriteLine("Select a seat that you want to ocupy"); string ln = Console.R

我试图替换2d数组中的字符串值,并尝试了下面的代码,但什么都没有发生

foreach (string item in Arr)
{
    if (UserInput.Equals(item))
    {
        item.Replace(UserInput, "X ");
    }
}
同样的道理,这些代码什么都没有发生

Console.WriteLine("Select a seat that you want to ocupy");
string ln = Console.ReadLine();

if (ln.Equals(Arr))
{
    ln = ln.Replace(ln, "X ");
}

这应该可以做到:

   string ln = Console.ReadLine();
   for (int i = 0; i < Arr.length; i++) {
        Arr[i] = Arr[i].Replace(ln, "X ");
   }
string ln=Console.ReadLine();
对于(int i=0;i
什么是Arr?是数组对象吗

如果是的话,你不能让整个数组都相等

您需要使用for循环或其他方法来检查每一项

for (int i=0, len = Arr.Length; i < len; i++ )
{
    if (ln.Equals(Arr[i]))
    {
        Console.WriteLine("old ln = " + ln);
        ln = ln.Replace(ln, "X ");
        Console.WriteLine("new ln = " + ln);
    }
}
for(int i=0,len=Arr.Length;i
您当前的代码

  item.Replace(UserInput, "X ");
创建新的
字符串
,然后忽略该字符串;可能是这样的

  item = item.Replace(UserInput, "X ");
但是,这在foreach循环中是不可能的,所以让我们尝试使用循环:

String[,]Arr=新字符串[,]{
{“A1”、“A2”、“A3”、“A4”},
{“B1”、“B2”、“B3”、“B4”}
};
字符串UserInput=“B3”;
对于(int line=Arr.GetLowerBound(0);line请尝试以下操作:

        string[,] Arr = new string[4, 5];
        string textToReplace = "test";
        for(int k=0;k < Arr.GetLength(0);k++)
         for(int l=0;l < Arr.GetLength(1);l++)
             if (Arr[k,l]==textToReplace){
                 Arr[k, l] = "X";
             }
string[,]Arr=新字符串[4,5];
字符串textToReplace=“test”;
for(int k=0;k
您可以显示定义
Arr
的代码吗?它是
string[][]
还是
string[,]
?ln.Equals(Arr)将字符串与数组进行比较并始终返回false这是代码
string[,]Arr=新字符串[4,5]
{“A1”,“A2”,“A3”、“A4”、“A5”}、{B1”、“B2”、“B3”、“B4”、“B5”}、{C1”、“C2”、“C3”、“C4”、“C5”}、{D1”、“D2”、“D3”、“D4”、“D5”}、}`
  String[,] Arr = new String[,] {
    {"A1", "A2", "A3", "A4"},
    {"B1", "B2", "B3", "B4"}
  };

  String UserInput = "B3";

  for(int line = Arr.GetLowerBound(0); line <= Arr.GetUpperBound(0); ++line)
    for(int column = Arr.GetLowerBound(1); column <= Arr.GetUpperBound(1); ++column)
      if (Arr[line, column].Contains(UserInput)) 
        Arr[line, column] = "X";
        string[,] Arr = new string[4, 5];
        string textToReplace = "test";
        for(int k=0;k < Arr.GetLength(0);k++)
         for(int l=0;l < Arr.GetLength(1);l++)
             if (Arr[k,l]==textToReplace){
                 Arr[k, l] = "X";
             }