2019년 5월 17일 금요일

Unity에서 LINQ를 이용한 List 연산

Unity에서 Linq를 이용해 List를 연산하는 방법이다.
LINQ란 자주 사용 되는 정보의 선택/열거 작업을 다루기 위한 기존 문법의 확장이다.
사용법은 SQL 쿼리구문과 유사하다.

Unity서 List로 관리되는 데이터는 LINQ의 문법으로 연산이 가능 하다.
LINQ로 교집합, 차집합, 합집합 연산을 아래와 같이 간단히 할 수 있다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// Linq를 사용 한다고 선언
using System.Linq;

public class LinqExample : MonoBehaviour
{
    List numbersA = new List();
    List numbersB = new List();
    
    void Start()
    {
        // numbersA : 1,2,5,8
        numbersA.Add(1);
        numbersA.Add(2);
        numbersA.Add(5);
        numbersA.Add(8);

        // numbersB : 1,3,5,7,9
        numbersB.Add(1);
        numbersB.Add(3);
        numbersB.Add(5);
        numbersB.Add(7);
        numbersB.Add(9);

        // 차집합 : numbersA 에서 numbersB가 중복되면 제외 한다. 
        // 결과 : 2, 8
        List except = numbersA.Except(numbersB).ToList();

        // 교집합 : numbersA 에서 numbersB가 중복되면 저장 한다.
        // 결과 : 1, 5
        List intersect = numbersA.Intersect(numbersB).ToList();

        // 합집합 : numbersA 와 numbersB를 중복을 하나로 처리 하여 모두 저장한다.
        // 결과 : 1, 2, 5, 8, 3, 7, 9
        List union = numbersA.Union(numbersB).ToList();
    }
}

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...