スポンサーサイト
新しい記事を書く事で広告が消せます。
情報処理技術全般を気まぐれにつつくゆるいブログです。技術解説記事のソースは専門書と実務経験です。
/*---------------------------------------------------------
*
* 変換演算子で列挙子を得て標準メソッドを呼び出す
*
---------------------------------------------------------*/
using System;
using System.Linq;
using System.Collections.Generic;
static class IntList
{
public static IEnumerable Select(
this List<int> source,
Func<List<<nt>, List> selector )
{
Console.WriteLine( "カスタムSelect実行" );
var result =
from v in source
select ( v + 5 );
return result;
}
}
class Sample
{
static void Main( )
{
//データソースを用意
int max = 10;
List values = new List();
for ( int i = 0 ; i < max ; ++i )
values.Add( i );
Console.WriteLine( "データ" );
foreach ( int v in values )
Console.Write( "{0} ", v );
Console.WriteLine( Environment.NewLine );
//カスタムメソッドを使用
var x = values.Select( v => v );
foreach ( int v in x )
Console.Write( "{0} ", v );
Console.WriteLine( Environment.NewLine );
//標準のメソッドを使用
Console.WriteLine(
"標準のSelectメソッドを実行" );
var y = values.AsEnumerable().Select( v => v );
foreach ( int v in y )
Console.Write( "{0} ", v );
Console.WriteLine( Environment.NewLine );
//終了
Console.WriteLine( "サンプル終了。" );
Console.ReadLine();
}
}