そんなに難しいことではないと思いますが、脳が溶けてしまうような問題に取り組んでいます。私の例は長いので、質問を短くしようと思います!
配列でもあるいくつかの要素を含むArrayオブジェクトがあります。例えば:
customerAddresses = new customer_address[]
{
new // address #1
{
customer_id = 6676979,
customer_address_seq = 1,
customer_address_match_codes = new []
{
new
{
customer_address_seq = 1,
customer_id = 6676979,
customer_match_code_id = 5
}
}
},
new // address #2
{
customer_id = 6677070,
customer_address_seq = 1,
customer_address_match_codes = new []
{
new
{
customer_address_seq = 1,
customer_id = 6677070,
customer_match_code_id = 4
},
new
{
customer_address_seq = 1,
customer_id = 6677070,
customer_match_code_id = 5
},
new
{
customer_address_seq = 1,
customer_id = 6677070,
customer_match_code_id = 3
}
}
},
new // address #3
{
customer_id = 6677070,
customer_address_seq = 2,
customer_address_match_code = new []
{
new
{
customer_address_seq = 2,
customer_id = 6677070,
customer_match_code_id = 4
},
new
{
customer_address_seq = 2,
customer_id = 6677070,
customer_match_code_id = 5
}
}
}
};
ご覧のとおり、配列には多数のアドレスレコードが含まれており、との組み合わせごとに1つのレコードがcustomer_id
ありcustomer_address_seq
ます。私がやろうとしているのはcustomer_address
、次のルールに従って最適なものを見つけることです。
- 4に等しくなければ
customer_match_code_id
ならず、5に等しいものがなければなりません customer_match_code_id
3に等しい場合はcustomer_address
、より強い一致と見なします。
上記のルールによると、2番目のcustomer_address
要素は「ベストマッチ」です。ただし、この問題の最後の複雑さは、複数の「ベストマッチ」が存在する可能性があることです。その状況に対処する必要があるのは、最小値と最小値でcustomer_address
レコードを取得することです。customer_id
customer_address_seq
LINQを使用するのが最善の策だと思っていましたが、十分な経験がないため、ホイールを回し続けています。