私はここで助けを得ることができますか?私は2対の数字を作成するいくつかのコードを持っています。私はそれらを.exceptと比較しています。私が持っている質問は、私のコードに示されているような数字を割り当てるのではなく、どのようにして50個のランダムなスローを比較のために追加するのですか?比較のためのペアリストに乱数を追加する
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));
}
あなたのコードは動作しません。 'GetHashCode'と' Equals'をオーバーライドしないオブジェクトに対しては 'Except'を呼び出すことはできません。 – Enigmativity
このコードで試してみると、 'int [、] dieValue1 = {{1,2}、{3,4}};あなたがまだ「あなたのプレイヤーが[3、4]を持っていると言われていることがわかるでしょう。[1、2] 2人は "いない"。 – Enigmativity
私はまだC#の新機能です。gethashcodeについてもう少し説明してください。 –