C# 直接更改数组中包含的数组

C# 直接更改数组中包含的数组,c#,arrays,C#,Arrays,我有大约20个字符串数组,我想在它们上执行相同的操作(将特定的条目更改为另一个值)。因此,我已经编写了一个方法: public static void ChangeArray<T>(ref T[,] laoArrOriginal, String lvsToChange, String lvsChangeValue) { int dimRow = laoArrOriginal.GetLength(0); int dimCol = laoArrOrigin

我有大约20个字符串数组,我想在它们上执行相同的操作(将特定的条目更改为另一个值)。因此,我已经编写了一个方法:

public static void ChangeArray<T>(ref T[,] laoArrOriginal, String lvsToChange, String lvsChangeValue)
{
        int dimRow = laoArrOriginal.GetLength(0);
        int dimCol = laoArrOriginal.GetLength(1);
        for (int i = 0; i < dimRow; i++)
        {
            for (int j = 0; j < dimCol; j++)
            {
                if (laoArrOriginal[i, j] == lvsToChange)
                {
                    laoArrOriginal[i, j] = lvsChangeValue;
                }
            }
        }       
}
并在for循环中更改它们:

for (int i = 0; i < lcsStringArrays.Length; i++ )
  {
       ChangeArray(ref lcsStringArrays[i], l_dblRecordCount, 1);
  }
for(int i=0;i
但是,在循环单个元素array1、array2等之后,它们不会发生变化,而元素lcsStringArrays[i]具有正确的内容

我做错了什么

编辑: 我解决了这个“问题”。我在ChangeArray中的代码是错误的。我插入了我现在使用的代码;对于这个案例,有人来这里寻找类似的解决方案。
无论如何谢谢你

看起来我们也需要ChangeArray方法的实现。在高层,我认为您正在更改传入的变量(数组)的值。无论如何,您为什么需要将其设置为
ref
?您不是在更改数组本身的值,而是在更改数组所包含的内容。为此,您不需要
ref

看起来我们也需要ChangeArray方法的实现。在高层,我认为您正在更改传入的变量(数组)的值。无论如何,您为什么需要将其设置为
ref
?您不是在更改数组本身的值,而是在更改数组所包含的内容。您不需要使用
ref

我怀疑问题在于
ChangeArray
正在更改
laoArrOriginal
的值,这会更改“外部”数组,而不会改变“内部”数组对象的先前值。但目前还不清楚……我怀疑问题在于
ChangeArray
正在更改
laoArrOriginal
的值,这会更改“外部”数组,而不会改变“内部”数组对象的先前值。但目前还不清楚。。。
for (int i = 0; i < lcsStringArrays.Length; i++ )
  {
       ChangeArray(ref lcsStringArrays[i], l_dblRecordCount, 1);
  }