我需要将table旋转90,180,270度,然后重新设置为start at last option,我必须在switch中执行此操作,但我不知道如何执行,因为table必须在char中。我在int中找到了许多关于table的问题,但在char中没有找到。我此时有此问题,但不知道如何在char中旋转它
using System;
namespace Table.ConsoleApp
{
class Table
{
static void Main()
{
char[,] a = new char[6, 6]
{
{'#', '#', '#', '%', '%', '%'},
{'#', '#', '#', '%', '%', '%'},
{'#', '#', '#', '%', '%', '%'},
{'*', '*', '*', '+', '+', '+'},
{'*', '*', '*', '+', '+', '+'},
{'*', '*', '*', '+', '+', '+'},
};
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 6; j++)
{
Console.WriteLine("a[{0}, {1}] = {2}", i, j, a[i, j]);
}
}
}
}
}
2条答案
按热度按时间kq0g1dla1#
验证码:
那么结果是:
lvjbypge2#
这可能不适合你的家庭作业,但是,话说回来,我不为别人做家庭作业。
我创建了一个用数组初始化的类型,并提供了一种方法来查看它以几个Angular 旋转,而不是将数组旋转几次。
我放宽了一些限制,您询问了
char
的6x6数组,这为泛型类型T
的MxN数组提供了一个通用的解决方案(即如果需要,数组可以是5x 7)。您选择的字符很难测试,因此我使用以下字符:
但我也测试了它:
以及:
因此,它适用于6x6、4x 6和6x 4阵列。
它没有使用整数(1-4)指定旋转,而是使用
enum
:它依赖于名为
RotatableArray<T>
的泛型类:RotatableArray<T>
的一个示例用T
的一个二维数组初始化(/构造),这个数组永远不会改变。相反,该类依赖于一个三参数的 Indexed Property(也称为 Indexerhttps://learn.microsoft.com/en-Us/dotnet/csharp/programming-guide/indexers/)在初始化时使用的不可变数组的顶部提供一个可旋转的外观。
不是旋转数组,而是对它进行索引(二维),传入一个
RotationAngle
值来描述您希望如何显示。我在一个Windows窗体应用程序中测试了这一点(将输出放入一个多行文本框中)。
请注意,它与您提供的代码基本相同,不同之处在于它不是访问:
我正在访问:
其中
angle
是Rotate0
、Rotate90
、Rotate180
或Rotate270
中的一个。使用此数组作为示例:
以下是我得到的结果:
仅显示原始数组:
将其显示在
Rotate0
会导致相同的结果:在90,你得到:
以及在180:
最后在270:
这可以很容易地扩展到提供换位,以及颠倒的东西都垂直和水平。
这里面应该有足够的代码供你完成作业。