유니티 C# 리스트에서 특정 타입 추출하는 방법 간단 구현

반응형

리스트 설정

using System.Collections.Generic;
using System.Linq;
using UnityEngine;

public enum MyType
{
    TypeA,
    TypeB,
    TypeC
}

public class MyClass
{
    public MyType Type { get; set; }
    public string Name { get; set; }

    public MyClass(MyType type, string name)
    {
        Type = type;
        Name = name;
    }
}

 

특정 타입 추출

public class Example : MonoBehaviour
{
    private void Start()
    {
        // MyClass 객체의 리스트 생성
        List<MyClass> myList = new List<MyClass>
        {
            new MyClass(MyType.TypeA, "Object1"),
            new MyClass(MyType.TypeB, "Object2"),
            new MyClass(MyType.TypeC, "Object3"),
            new MyClass(MyType.TypeB, "Object4"),
            new MyClass(MyType.TypeA, "Object5")
        };

        // TypeB 타입의 객체만 추출
        List<MyClass> typeBList = myList.Where(x => x.Type == MyType.TypeB).ToList();

        // 결과 출력
        Debug.Log("TypeB 객체의 개수: " + typeBList.Count);
        foreach (var item in typeBList)
        {
            Debug.Log("Name: " + item.Name + ", Type: " + item.Type);
        }
    }
}
반응형