如何使用类似网格样式的其他txt文件生成带有文本的txt文件?

时间:2017-12-01 00:39:54

标签: c#

所以,假设我有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网格。

1 个答案:

答案 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;
    }