단순한 배열 집합이 있습니다. 이런 식의 구조는 간결하게 구조가 짧습니다. 기본적으로 이것은 추가 필드 (일종의 사전)가있는 ID 목록입니다.모두 대상에 아직 존재하지 않는 것 모두
I 끊임없이이 어레이에 대해 다른 값을 검사하고, 만족되는 항목의 인상해야[
{
"Id" : 1,
"Requirement" : {
"Value" : "2", "Name" : "Orders"
}
},
{
"Id" : 2,
"Requirement" : {
"Value" : "4", "Name" : "Orders"
}
},
{
"Id" : 3,
"Requirement" : {
"Value" : "6", "Name" : "Orders"
}
},
{
"Id" : 4,
"Requirement" : {
"Value" : "8", "Name" : "Orders"
}
},
]
(예를 들어, "사용자"정수 Orders
의 임의의 값을 갖는다.마다 Orders
업데이트 나는 User
가 있습니다 ... 다음과 같이 일하는 것이, 그래서 다음)이 Orders
이 요구 값보다 크거나 같은 배열의 밖으로하지만 이미 값을 끌어없이 모든 항목을 얻을 수
을 원하는 1 Order
. (아무 반응 없음) User
은 2 Order
입니다. (사용자의 업데이트 작업이 실행될 때 ID 1이 당겨집니다) User
그러면 4 Order
이됩니다. (Id 2가 끌어 들여지지만 Id 1이 이미 있으므로 건너 뜁니다.)
LINQ 쿼리로이를 수행하는 간단한 방법이 있습니까? 나는 '마지막으로 체크 한'값을 저장하는 사치가 없다. 데이터 구조는이 시점에서 수정할 수있는 것이 아닙니다.
myArray.Where(o => !otherArray.Any(inner => inner.id == o.id));
감사합니다. 이것은 잘 돌아갔다. 나는 곧 새로운 문제를 발견했다. 그러나 이것은 나의 특정한 질문에 대답했다. 계속되는 질문은 http://stackoverflow.com/questions/8659342/linq-select-all-that-match-a-single-field-merge-on-original에서 끝납니다. – Ciel