alunote’s blog

C#,SQL,JavaScriptなどの技術メモをゆっくり投稿しています。

【C#】LINQでリストから数値だけを出力する

今回は、LINQでリストから数値だけを出力する方法について記述します。

型を限定しない、文字列や数値が混在するリストから数値(int)型だけを出力します。

◆数値だけを出力
数値だけを出力する場合は、OfTypeを使用しintを宣言することで出力可能です。
また、intの個所を変更することで任意の型を出力することが可能です。

◆数値だけを出力のソースコード

using System;
// ↓Listを使うために宣言
using System.Collections.Generic;
// ↓Linqを使うために宣言
using System.Linq;

class Task_12
{
    public static void Main()
    {
        List<object> olist = new List<object>();
        olist.Add("AA");
        olist.Add(10);
        olist.Add(20);
        olist.Add("BB");
        olist.Add("CC");
        olist.Add(30);
        olist.Add("DD");
        olist.Add(40);
        olist.Add(50);
        olist.Add(60);

        //olistの数値(int)型のみ出力
        Console.Write("数値(int)型のみ表示:");
        foreach (object n in olist.OfType<int>()) Console.Write(n + "\t");
        Console.WriteLine();
    }
}

◆数値だけを出力の実行結果
f:id:alunote:20181016124339p:plain

もし、文字列だけを出力したい場合には下記実装で出力可能です。

  //olistの文字列(string)型のみ出力
  foreach (object n in olist.OfType<string>()) Console.Write(n + "\t");

以上です。
この記事が誰かの役に立つことを祈ります。