Ich frage mich, ob ich hier Hilfe bekommen könnte. Ich habe einen Code, der 2 Zahlenpaare erzeugt. Ich vergleiche sie mit dem .except. Die Frage, die ich habe, ist, anstatt die Zahlen wie in meinem Code gezeigt zuzuweisen, wie ich 50 zufällige Würfe zu den Paaren zum Vergleich hinzufügen.Zufügen von Zufallszahlen zum Vergleichen von Listen zum Vergleichen
public FrmDieRoller()
{
InitializeComponent();
}
public class Pair
{
public int FirstDie { get; set; }
public int SecondDie { get; set; }
}
public class Pair2
{
public int ThirdDie { get; set; }
public int FourthDie { get; set; }
}
public static List<Pair> ConvertToPairs(int[,] dieValues)
{
var query = from int item in dieValues select item;
var p1Rolls = query.ToList();
List<Pair> pairs = new List<Pair>(p1Rolls.Count);
for (int i = 0; i <4 ; i += 2)
{
pairs.Add(new Pair() {FirstDie = p1Rolls[i], SecondDie =
p1Rolls[i+ 1]});
}
return pairs;
}
public static List<Pair2> ConvertToPairs2(int[,] dieValues1)
{
var query = from int item1 in dieValues1 select item1;
var p2Rolls = query.ToList();
List<Pair2> pairs1 = new List<Pair2>(p2Rolls.Count);
for (int j = 0; j < 4; j += 2)
{
pairs1.Add(new Pair2() {ThirdDie = p2Rolls[j], FourthDie =
p2Rolls[j + 1]});
}
return pairs1;
}
public void btnRoll_Click(object sender, EventArgs e)
{
int[,] dieValue1 = {{1,2},{3,4}};
int[,] dieValue2 = {{2,6},{5,1}};
var p1Rolls = ConvertToPairs(dieValue1);
var p2Rolls = ConvertToPairs(dieValue2);
foreach (var item in p1Rolls.Except(p2Rolls))
{
lstRollDifference.Items.Add(string.Format("Player one has [{0},
{1}] which Player two does not", item.FirstDie, item.SecondDie));
}
Ihr Code wird nicht funktionieren. Sie können 'Except' nicht für Objekte aufrufen, die' GetHashCode' und 'Equals' nicht überschreiben. – Enigmativity
Wenn Sie mit diesem Code versuchen - 'int [,] dieValue1 = {{1, 2}, {3, 4}}; int [,] dieValue2 = {{2, 6}, {5, 1}, {3, 4}}; "- Sie werden sehen, dass Sie immer noch erfahren, dass" "Spieler 1 [3, 4] welchen Spieler hat zwei nicht "'. – Enigmativity
Ich entschuldige mich ich bin noch neu zu C# Könnten Sie bitte ein wenig mehr über den gethashcode und außer –