C#のLINQの関数であるEmpty()
の使い方についてです。
空のシーケンスを作成することが出来ます。
この記事には.NET Framework 4.6.1を使用しています。
空のシーケンスがどうしても欲しい
僕の財布の中身は今日も空っぽです。
空の財布はいらないかもしれませんが、空のシーケンスが必要なときがあるかもしれません。
そんなときはLINQのEmpty()
を使ってみてください。
指定した型の空のシーケンスが作られるはずです。
public static IEnumerable<TResult> Empty<TResult>();
Enumerable.Empty(TResult) メソッド (System.Linq)
Program.cs
using System.Linq; using System.Collections; using System.Collections.Generic; public static class Program { private class Parameter { public int ID { get; set; } public string Name { get; set; } public override string ToString() { return string.Format( "ID:{0}, Name:{1}", ID, Name ); } } static void Main( string[] args ) { IEnumerable<int> intSequence = Enumerable.Empty<int>(); IEnumerable<string> stringSequence = Enumerable.Empty<string>(); IEnumerable<Parameter> parameterSequence = Enumerable.Empty<Parameter>(); // 配列に変換する。 int[] intArray = intSequence.ToArray(); // リストに変換する。 List<string> stringList = stringSequence.ToList(); // 結果発表 System.Console.WriteLine( "intArray 数:{0}", intArray.Length ); System.Console.WriteLine( "stringList 数:{0}", stringList.Count ); System.Console.WriteLine( "parameterSequence 数:{0}", parameterSequence.Count() ); // 入力待ち用 System.Console.ReadKey(); } } // class Program
intArray 数:0
stringList 数:0
parameterSequence 数:0
このEmpty()
を単品で使う機会は少ないかもしれませんが、他のLINQの関数に対してシーケンスを渡す際に使うことがあると思います。
七兆回使ってみてください。
LINQのリンク
- LINQ一覧
www.urablog.xyz