-2
A
답변
4
경우, 다음 중 다음 하나에 해당 :
는- 쿼리 결과가 반환되지 않습니다
- 쿼리 결과의 최대 값은 0입니다.
쿼리를 정의하고 쿼리에서 최대 값을 가져 오는 사이에 테이블을 수정할 때 첫 번째 경우가 가능합니다. 기억하십시오 - query
에는 데이터가 없습니다. 이는 쿼리 정의 일 뿐이며 쿼리를 실행할 때만 데이터를 가져옵니다 (예 : Any() 또는 Max()).
테스트 :
List<long> table = new List<long> { 1, 2, 3 };
var query = from t in table select t; // query is not executed
table.Clear(); // modify data source before query is executed
Assert.False(query.Any()); // execute query on modified data source
2
더 간단하지 않습니까?
long max = table.OrderByDescending(t => t.LongId)
.Select(t => t.LongId)
.FirstOrDefault() ?? 0;
1
가장 쉬운 방법 :
long max = query.Any() ? query.Max() : 0;
는 0을 반환
var maxId = table.OrderByDescending(x => x.LongId).First().LongId;
관련 문제
- 1. Linq 이상한 행동 사전과
- 2. Linq 이상한 행동 Nhibernate
- 3. 이상한 행동 행동
- 4. 이상한 행동
- 5. 이상한 행동
- 6. 이상한 행동
- 7. 이상한 행동()
- 8. 이상한 행동
- 9. 이상한 행동
- 10. 이상한 행동
- 11. 이상한 행동
- 12. 이상한 행동
- 13. 이상한 행동
- 14. 이상한 행동
- 15. 이상한 행동
- 16. 이상한 행동
- 17. 이상한 행동
- 18. 이상한 행동
- 19. 이상한 행동
- 20. 이상한 행동
- 21. 이상한 행동
- 22. 이상한 행동
- 23. 이상한 행동
- 24. 이상한 행동
- 25. 이상한 행동
- 26. 이상한 행동
- 27. 이상한 행동
- 28. 이상한 행동
- 29. 이상한 행동
- 30. 이상한 행동
어떻게 디버깅에 대한? query.Any()가 반환하는 것, query.Max()는 무엇을 반환합니까? – nvoigt
1)이 두 줄 사이에 다른 코드가 있습니까? 2) '테이블'이란 무엇이며 어떤 데이터가 있습니까? –
질문이 비어 있지 않습니까? –