C# ラムダ式とジェネリックのまとめ
````
using System.Linq;
using System;
public class Hello{
public static void Main(){
//ラムダ式 xxが引数 xxにレンジの結果が入る
foreach(int i in Enumerable.Range(0,5).Select(xx => xx * 10))
{
System.Console.WriteLine(i);
}
Random random = new Random();
//ラムダ式 xxが引数 xxにレンジの結果が入る
foreach(int i in Enumerable.Range(0,5).Select(vv => random.Next(0, 100)))
{
System.Console.WriteLine(i);
}
string s="a";
string ss="aa";
int ii=10000;
int iii=100;
int sss=Hello.IsNull(ii,iii);
System.Console.WriteLine(sss);
Test(s,ii);
Test(ii,s);
}
//ヌルならアウトプットを返す関数 ジェネリック型なので型はなんでも大丈夫
//Tは1つなので1つの型しか扱えない
public static T IsNull<T>(T input, T output)
{
if (input == null)
{
return output;
}
return input;
}
// public static string MyCheckBoxFor<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> )
//{
// return "test";
//}
//2つ指定があるので、intとstring型でもオッケー
static void Test<T1, T2>(T1 x, T2 y)
{
Console.WriteLine(x);
Console.WriteLine(y);
}
}