我强烈建议使用锯齿状数组。在这种情况下,您可能会使用此扩展方法:
private static readonly Random _generator = new Random();
public static T RandomItem<T>(this T[] array)
{
return array[_generator.Next(array.Length)];
}
像这样使用它:
string[][] array = new string[][] {
new string[] { "a1", "b1", "c1" },
new string[] { "a2", "b2", "c2" },
new string[] { "a3", "b3", "c3" },
new string[] { "a4", "b4", "c4" } };
string randomValue = array.RandomItem().RandomItem(); // b2 or c4 or ... etc.
一次全部:
string[] randomValues = array.RandomItem(); // { "a3", "b3", "c3" } or ... etc.
或者
string randomValues = string.Join(", ", array.RandomItem()); // a4, b4, c4
为什么我推荐在这里解释。