1
C#MoreLinqを使用して重複を解消しようとしています。DistinctBy 3 Params
ここは例です。チーム内にリーグがあります。チーム内の各プレイヤーは任意のポジションでプレーすることができます。これにより
public sealed class Triad
{
public int Id1 {get;set;}
public int Id2 {get;set;}
public int Id3 {get;set;}
}
私はId1の= 1、Id2と= 2およびID3 = 3は、この例では、我々は1オブジェクトを取得したい場合
ArrayOfTraids.GroupBy(new { Id1, Id2, Id3}).Select(t => t);
例
をGROUPBYたいです。
私が解決したい問題は、Id1 = 2、Id3 = 1の場合、int値は1,2,3(関係なく)同じリストから離れていてほしい注文のうち、彼らはまだ同じ値です)。
私はこれが非常に簡単かもしれないと感じますが、わかりません。
は、繰り返しを排除し、この
ArrayOfTriads.Where(t => t.Id1 < t.Id2 && t.Id2 < t.Id3)
ようなことをやってしまった
を解決しました。閉まっている。
あなたの質問に直接 'players.DistinctByた(p =>新しい{p.Prop1、p.Prop2、p.Proper3に答えるここでは行うことができる方法です。 }) ' – abatishchev
@abatishchevこれは、Playerが常にポジション1にとどまっている場合にのみ機能します。プレイヤーAがポジション2に移動した場合、新しい「チーム」が検討されます。私はそれが欲しくない。私はシンプルだが、それほど単純ではないと感じている。 :) –
あなたの質問は理解しにくいです。入力と出力の例を教えてください。 – Xela