更改多维数组中的列顺序

Change columns orders in Multidimensional Array

我正在构建一个 Truth Table 生成器,并且为了能够获取每一列的所有可能值,我从第一列开始(False、True、False、True 等),然后是接下来(假,假,真,真等)。

现在我的 table 看起来像这样:

错|错|错|错|

真|假|假|假|

假|真|假|假|

真|真|假|假|

假 |假 |真 |假 |

真|假|真|假|

假 |真 |真 |假 |

真|真|真|假|

假 |假 |假 |真 |

真|假|假|真|

假 |真 |假 |真 |

真|真|假|真|

假 |假 |真 |真 |

真|假|真|真|

假 |真 |真 |真 |

真|真|真|真|

我希望这些列以相反的方式排列,右边的是第一个,左边的是最后一个。 我知道如何交换 2 列,但更改顺序的最佳算法是什么?我应该使用这个顺序,然后在打印时向后打印吗?

注意:列数取决于变量的数量,因此每次执行都会发生变化。

我找不到任何简单的方法来对列进行排序,但如果其他人遇到同样的问题,我会这样做:

for (int i = 0; i < numrows; i++)
{
                for (int j = 0; j < numcolum; j++)
                {
                    newtable[i, j] = table[i, numcolum- 1 - j];
                }
}

向后复制到另一个完成。我不确定是否有更好的方法或更有效的方法来解决这个问题。