四个List列表,List列表A=List<B>,List列表B=List<C>,列表C=List<D>,列表D=List<double>,D 列表行数上限为1000,C上限为60,B为60,A为24,如何个A列表里面添加随机数C#
时间: 2024-09-14 16:03:35 浏览: 35
在C#中,你可以使用`Random`类生成随机数并逐个填充到每个级别的列表中。下面是关于如何创建并填充这样的四个列表的示例代码:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main(string[] args)
{
Random random = new Random();
List<List<List<List<double>>>> A = GenerateLists(24, 60, 60, 1000, random);
foreach (var hour in A)
{
Console.WriteLine("Hour:");
foreach (var minute in hour)
{
Console.WriteLine("\tMinute:");
foreach (var second in minute)
{
Console.WriteLine("\t\tSecond:");
foreach (var value in second)
{
Console.WriteLine("\t\t\t{0}", value);
}
}
}
}
}
static List<List<List<List<double>>>> GenerateLists(int hours, int minutesPerHour, int secondsPerMinute, int maxValuesPerColumn, Random random)
{
List<List<List<List<double>>>> A = new List<List<List<List<double>>>>(hours);
for (int i = 0; i < hours; i++)
{
List<List<List<double>>> B = new List<List<List<double>>>(minutesPerHour);
for (int j = 0; j < minutesPerHour; j++)
{
List<List<double>> C = new List<List<double>>(secondsPerMinute);
for (int k = 0; k < secondsPerMinute; k++)
{
List<double> D = new List<double>(maxValuesPerColumn);
for (int l = 0; l < maxValuesPerColumn; l++)
{
D.Add(random.NextDouble()); // 随机生成0-1之间的双精度数
}
C.Add(D);
}
B.Add(C);
}
A.Add(B);
}
return A;
}
}
```
在这个例子中,我们首先创建一个`Random`对象,然后使用`GenerateLists`函数递归地填充各个列表。对于每个列表,我们都生成指定数量的随机数。
注意,由于列表层级较多,实际操作可能会变得复杂,尤其是当数据量大时。在实际应用中,可以考虑优化生成过程,例如使用流式编程或多线程来提高效率。
阅读全文