using System;
using System.Collections .Generic ;
using System.Diagnostics ;
using System.Windows .Forms ;
namespace WindowsFormsApplication4
{
public partial class Form1 : Form
{
public Form1( )
{
InitializeComponent( ) ;
}
private void Form1_Load( object sender, EventArgs e)
{
var arr = new[ ]
{
new { Val1= "1" , Val2= "B" } ,
new { Val1= "5" , Val2= "B" } ,
new { Val1= "3" , Val2= "B" } ,
new { Val1= "2" , Val2= "B" } ,
new { Val1= "4" , Val2= "B" }
} ;
var max = arr.Max ( t => t.Val1 , t => t) ;
Debug.WriteLine ( max.Val1 + " " + max.Val2 ) ;
}
}
public static class こんなMAX欲しかった
{
public static TResult Max< TSource, TValue, TResult> ( this IEnumerable< TSource> source, Func< TSource, TValue> selecter, Func< TSource, TResult> resultSelecter) where TValue : IComparable, IComparable< TValue>
{
TValue maxVal = default ( TValue) ;
TResult result = default ( TResult) ;
foreach ( var item in source)
{
var val = selecter( item) ;
if ( val.CompareTo ( maxVal) >= 0 )
{
maxVal = val;
result = resultSelecter( item) ;
}
}
return result;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkRpYWdub3N0aWNzOwp1c2luZyBTeXN0ZW0uV2luZG93cy5Gb3JtczsKCm5hbWVzcGFjZSBXaW5kb3dzRm9ybXNBcHBsaWNhdGlvbjQKewogICAgcHVibGljIHBhcnRpYWwgY2xhc3MgRm9ybTEgOiBGb3JtCiAgICB7CiAgICAgICAgcHVibGljIEZvcm0xKCkKICAgICAgICB7CiAgICAgICAgICAgIEluaXRpYWxpemVDb21wb25lbnQoKTsKICAgICAgICB9CgogICAgICAgIHByaXZhdGUgdm9pZCBGb3JtMV9Mb2FkKG9iamVjdCBzZW5kZXIsIEV2ZW50QXJncyBlKQogICAgICAgIHsKICAgICAgICAgICAgdmFyIGFyciA9IG5ld1tdCiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHtWYWwxPSIxIixWYWwyPSJCIn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHtWYWwxPSI1IixWYWwyPSJCIn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHtWYWwxPSIzIixWYWwyPSJCIn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHtWYWwxPSIyIixWYWwyPSJCIn0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IHtWYWwxPSI0IixWYWwyPSJCIn0KICAgICAgICAgICAgICAgICAgICAgIH07CiAgICAgICAgICAgIHZhciBtYXggPSBhcnIuTWF4KHQgPT4gdC5WYWwxLCB0ID0+IHQpOwogICAgICAgICAgICBEZWJ1Zy5Xcml0ZUxpbmUobWF4LlZhbDEgKyAiICIgKyBtYXguVmFsMik7CiAgICAgICAgfQoKICAgIH0KICAgIHB1YmxpYyBzdGF0aWMgY2xhc3Mg44GT44KT44GqTUFY5qyy44GX44GL44Gj44GfCiAgICB7CiAgICAgICAgcHVibGljIHN0YXRpYyBUUmVzdWx0IE1heDxUU291cmNlLCBUVmFsdWUsIFRSZXN1bHQ+KHRoaXMgSUVudW1lcmFibGU8VFNvdXJjZT4gc291cmNlLCBGdW5jPFRTb3VyY2UsIFRWYWx1ZT4gc2VsZWN0ZXIsIEZ1bmM8VFNvdXJjZSwgVFJlc3VsdD4gcmVzdWx0U2VsZWN0ZXIpIHdoZXJlIFRWYWx1ZSA6IElDb21wYXJhYmxlLCBJQ29tcGFyYWJsZTxUVmFsdWU+CiAgICAgICAgewogICAgICAgICAgICBUVmFsdWUgbWF4VmFsID0gZGVmYXVsdChUVmFsdWUpOwogICAgICAgICAgICBUUmVzdWx0IHJlc3VsdCA9IGRlZmF1bHQoVFJlc3VsdCk7CiAgICAgICAgICAgIGZvcmVhY2ggKHZhciBpdGVtIGluIHNvdXJjZSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdmFyIHZhbCA9IHNlbGVjdGVyKGl0ZW0pOwogICAgICAgICAgICAgICAgaWYgKHZhbC5Db21wYXJlVG8obWF4VmFsKSA+PSAwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIG1heFZhbCA9IHZhbDsKICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHRTZWxlY3RlcihpdGVtKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICB9CiAgICB9Cn0K
compilation info
prog.cs(4,14): error CS0234: The type or namespace name `Windows' does not exist in the namespace `System'. Are you missing an assembly reference?
Compilation failed: 1 error(s), 0 warnings
stdout