これは初心者の質問であることは知っていますが、とにかく助けていただければ幸いです...
私がサイコロを持っているとします
public class Dice
{
public int FaceValue { get; set; }
public Dice(int faceValue)
{
this.FaceValue = faceValue;
}
}
そして結果クラス...
public class Result
{
public Dice D1 { get; set; }
public Dice D2 { get; set; }
public Dice D3 { get; set; }
// Always has three dices ...
public Result(Dice d1,Dice d2,Dice d3)
{
D1 = d1;
D2 = d2;
D3 = d3;
}
}
そしてクラスベット...
public class Bet
{
// A bet could have one , two , or three dices ....
public List<Dice> Dices = new List<Dice>();
}
単一のベット (1、2、または 3 つのサイコロを持つことができる) をカウントする非常に簡単な方法 (LINQ かどうか) はありますか?
常に 3 つのサイコロを持つ 1 つの結果に表示されますか?
ベットのリストに複数のベットがある場合、3 つのサイコロの結果にベットが表示されるかどうかを確認しますか?
例えば
Result.D1 = new Dice(1);
Result.D2 = new Dice(4);
Result.D3 = new Dice(1);
{ { new Dice(1), new Dice(4) } } appears 1 time ===> 1
{ { new Dice(1) } } appears 2 times ====> 2
{ { new Dice(4) , new Dice(1) , new Dice(1) } } appears 1 time ====> 1
{ { new Dice(5) , new Dice(2) , new Dice(3) } } doesn't appear ====> 0
{ { new Dice(1) , new Dice(6) , new Dice(6) },
{ new Dice(4) , new Dice(4) , new Dice(4) },
{ new Dice(1) , new Dice(2) , new Dice(3) },
{ new Dice(1) , new Dice(5) , new Dice(5) },
{ new Dice(1) , new Dice(1) , new Dice(4) },
{ new Dice(3) , new Dice(3) , new Dice(3) } } has one bet that is equal so ========> 1