System.Random rng = new System.Random();
List<int> randomNumList = duplicates.OrderBy(n => rng.Next()).Take(3).ToList();
랜덤한 순서로 리스트의 항목을 섞은 후 그 중에서 처음 3개의 항목만을 선택하여 새로운 리스트로 만든다.
- OrderBy(n => rng.Next()):
- OrderBy는 LINQ (Language Integrated Query)의 메서드 중 하나로, 시퀀스의 요소들을 특정 기준에 따라 정렬
- n => rng.Next()는 람다 식을 사용하여 정렬 기준을 제공하는데, 여기서 rng는 Random 클래스의 인스턴스를 가리킨다. rng.Next()는 호출될 때마다 0과 Int32.MaxValue 사이의 다른 무작위 정수를 반환한다.
- OrderBy 함수는 각 항목 n에 대해 다른 랜덤 값이 연결되므로, 전체 리스트가 무작위로 섞인다.
- Take(3):
- Take은 또 다른 LINQ 메서드로, 시퀀스에서 지정된 수의 항목을 처음부터 선택한다.
- Take(3)는 섞인 리스트에서 처음 3개의 요소만을 추출한다.
+++
List<int> exclusiveItems = card_data_ids.Except(card_info_ids).ToList();
card_data_ids에서 card_info_ids에 없는 요소들을 선택 및 반환
- Except 메서드:
- Except는 LINQ의 메서드로서, 첫 번째 컬렉션(card_data_ids)에서 두 번째 컬렉션(card_info_ids)에 있는 요소를 제외한 모든 요소를 반환한다.
- card_data_ids에는 존재하지만 card_info_ids에는 존재하지 않는 모든 정수를 찾아낼 때 사용된다.
'유니티 C# 함수 사용 정리' 카테고리의 다른 글
Try-catch (+finally) 알아보기 (0) | 2024.06.09 |
---|---|
리스트 -> 딕셔너리, 숫자 카운트 및 지정 횟수 미만인 숫자를 리스트로 반환하는 메서드 (0) | 2024.05.12 |
Resources 폴더에서 Atlas를 찾아 image 반환하기 (0) | 2024.03.25 |
instantiate 생성 시 이동 벡터에 따라 프리팹의 forward 조정하기 (0) | 2024.03.22 |
충돌된 지점의 법선 벡터 메모 (0) | 2024.03.14 |