[C# 문법] C# LINQ 형변환 OfType<T> 메서드

참고

소개

  • 오늘은 C# LINQ 구문에서 형변환을 도와주는 OfType<TResult> 메서드에 대해서 알아 보려고 합니다.
  • OfType 메서드를 이용하면, LINQ 구문에서 손쉽게 형변환을 할 수 있는데요. 예제 코드를 통해 자세히 보여 드리도록 하겠습니다.

예제 코드

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

namespace ConsoleApp7
{
    static class Program
    {
        static void Main(string[] args)
        {
            ArrayList list = new ArrayList()
            {
                "Mango",
                "Apple",
                "Orange",
                3.0,
                "Banana"
            };

            var query1 = list.OfType<string>();

            foreach (var item in query1)
            {
                Console.WriteLine($"item : {item}");
            }
            Console.WriteLine();

            var query2 = list.OfType<double>();

            foreach (var item in query2)
            {
                Console.WriteLine($"item : {item}");
            }
            Console.WriteLine();

            var query3 = list.OfType<string>()
                             .Where(data => data.ToLower().Contains("n"));

            foreach (var item in query3)
            {
                Console.WriteLine($"item : {item}");
            }
        }
    }
}

실행 결과

item : Mango
item : Apple
item : Orange
item : Banana

item : 3

item : Mango
item : Orange
item : Banana
  • 현재 ArrayList에서는 string, double 총 2개의 타입이 공존하고 있습니다.
  • 여기서 OfType 메서드를 이용하여 사용자는 string, double을 지정하여 해당 타입에 해당하는 목록을 필터링하여 해당 데이터를 가지고 여러가지 방법을 통해서 데이터를 다룰 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY