문제

쉬운 방법이 있는지 모르겠지만 기본적으로 내가하고 싶은 것은 다음과 같습니다.

var highlights = db.Banners.Where(h => h.Category == "highlight").ToList().GetRange(0,4);

하이라이트가있는이 모델 배너가 있지만 매번 4 개의 임의의 하이라이트를 다른 순서로 검색하고 싶습니다.

따라서 내가 사용하는 코드는 [0..4] 하이라이트에서 범위를 검색하고 4 미만의 경우 오류를 반환하고 무작위 화되지 않습니다.

어떻게 쉽게 할 수 있습니까?

내가 원하는 결과는 a입니다 목록<배너> 보기에 전달하지만 매번 다른 순서로 다음과 같은 순서로 전달합니다.

[1,3,4,2] || [2,1,4,3] || [12,32,15,3]

나는 그게 다인 것 같아요 :)

정말 감사합니다

도움이 되었습니까?

해결책

여기 CodeProject에서 임의의 LINQ 샘플링의 예입니다

다른 팁

배너를 무작위 화하고 처음 4 이하를 얻으려면 다음을 수행 할 수 있습니다.

Random r = new Random(DateTime.Now.Ticks);

var highlights = db.Banners.Where(h => h.Category == "highlight").
    OrderBy(h => r.Next()).Take(4)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top