我不确定我是否正确地问这个问题。
我有这个:
if (Winner[i] == LotteryArray[j][k])
{
Prediction++;
}
它在一系列循环中,基本上检查“获胜”行中有多少数字与LotteryArray
矩阵的每一行对应。但Winner
由此构成:
static ShuffledRow WinningNums()
{
Console.WriteLine("Your winning numbers are!");
Console.WriteLine("------------------------");
ShuffledRow WinRow = new ShuffledRow(1, 46);
for (int i = 0; i < 6; i++) //this loop is to print the winning numbers
{
Console.Write("{0,3},", WinRow.Row[i]);
}
Console.WriteLine();
Console.WriteLine("------------------------"); //these two lines are for aesthetics
return WinRow;
由此产生:
public class ShuffledRow
{
public static readonly Random Random = new Random();
public readonly int[] Row;
// Generates and shuffles some numbers
// from min to max-1
public ShuffledRow(int min, int max)
{
int count = max - min;
Row = Enumerable.Range(min, count).ToArray();
Shuffle(Row);
}
private static void Shuffle<T>(T[] array)
{
// shuffle
for (int i = array.Length - 1; i > 0; i--)
{
int j = Random.Next(i + 1);
T temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
现在它告诉我我不能将带有[]的索引应用于ShuffledRow
类型的表达式
我也试过这个:
if ((Winner<ShuffledRow[i]>) == LotteryArray[j][k])
{
Prediction++;
}
但由于某种原因,它给了我括号的问题。
这篇文章可能过长,但我不知道如果没有包含所有这些内容会有多么混乱。
那么我该如何解决这个问题呢?
修改:if (Winner.Row[i] == LotteryArray[j][k])
{
Prediction++;
}
这是它应该如何。谢谢H W
答案 0 :(得分:1)
表达式Winner<ShuffledRow[i]>
未定义 - Winner
是您的类ShuffledRow
的一个实例,不是一个通用类!
由于您显然希望从Row
类访问Membervariable ShuffledRow
,因此您需要相应地编写语句,而不是尝试访问类本身:
ShuffledRow Winner = WinningNums();
if ((Winner.Row[i]) == LotteryArray[j][k])
{
Prediction++;
}