所以,假设我有4个.txt文件,看起来像这样:
X X
X X
Y Y
Y Y
A A
A A
B B
B B
我怎样才能创建一个包含这4种结构的随机混合的新txt文件,例如:
X X A A Y Y
X X A A Y Y
Y Y B B X X
Y Y B B X X
A A Y Y B B
A A Y Y B B
所以在这种情况下是3x3网格。
答案 0 :(得分:0)
我首先将单独的文件转换为数组。然后,为每个数组分配一个伪随机值。完成后,根据分配给它们的值将它们连接成一个更大的数组。
模拟代码:
var listOfFiles = new List<List<String>();
foreach (file in files)
listOfFiles.Insert([Random Number], file.ToList())
listOfFiles.To2DArray(3,3);
To2DArray()的位置
public static T[,] To2dArray<T>(this List<List<T>> list)
{
if (list.Count == 0 || list[0].Count == 0)
throw new ArgumentException("The list must have non-zero dimensions.");
var result = new T[list.Count, list[0].Count];
for (int rows = 0; rows < list.Count; rows++)
{
for (int cols = 0; cols < list[rows].Count; cols++)
{
if (list[rows].Count != list[0].Count)
throw new InvalidOperationException("The list cannot contain elements (lists) of different sizes.");
result[rows, cols] = list[rows][cols];
}
}
return result;
}