c#怎么让图形列表里的图形以超过原列表个数的方式用图形方阵按随机顺序显示出来
时间: 2024-02-25 22:58:38 浏览: 17
你可以通过以下步骤来实现:
1. 创建一个图形列表,用于存储所有的图形。
2. 创建一个新的图形列表,用于存储随机排序后的图形。
3. 使用随机数生成器,生成一个随机顺序。
4. 遍历随机顺序,将原图形列表中对应位置的图形添加到新的图形列表中。
5. 将新的图形列表中的图形以方阵的形式显示出来。
下面是示例代码:
```csharp
// 创建图形列表
List<Shape> shapeList = new List<Shape>();
shapeList.Add(new Shape("Shape1"));
shapeList.Add(new Shape("Shape2"));
shapeList.Add(new Shape("Shape3"));
shapeList.Add(new Shape("Shape4"));
shapeList.Add(new Shape("Shape5"));
shapeList.Add(new Shape("Shape6"));
// 创建新的图形列表,并随机排序
List<Shape> randomShapeList = new List<Shape>();
Random random = new Random();
List<int> randomIndexList = Enumerable.Range(0, shapeList.Count).OrderBy(x => random.Next()).ToList();
foreach (int index in randomIndexList)
{
randomShapeList.Add(shapeList[index]);
}
// 显示图形
int row = 3; // 行数
int col = 4; // 列数
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
int index = i * col + j;
if (index < randomShapeList.Count)
{
Console.Write(randomShapeList[index].Name + "\t");
}
}
Console.WriteLine();
}
```
请注意,这只是一个示例代码,你需要根据你的具体需求进行修改。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)