int[] data = new int[] {10, 3, 0, 8, 4, 0, 4, 2 };
//int[] data = new int[] { 0, 0, 0 };
int min = 0;
if (data.Any(d => d != 0))
min = data.Where(d => d != 0).Min();
Or
int[] data = new int[] {10, 3, 0, 8, 4, 0, 4, 2 };
//int[] data = new int[] { 0, 0, 0 };
int min = 0;
IEnumerable<int> nonZero = data.Where(d => d != 0);
if (nonZero.Any())
min = nonZero.Min();
AidyF
Star
9204 Points
1570 Posts
Re: select min on the base of condition
May 11, 2012 12:33 PM|LINK
int[] data = new int[] {10, 3, 0, 8, 4, 0, 4, 2 }; //int[] data = new int[] { 0, 0, 0 }; int min = 0; if (data.Any(d => d != 0)) min = data.Where(d => d != 0).Min();Or
int[] data = new int[] {10, 3, 0, 8, 4, 0, 4, 2 }; //int[] data = new int[] { 0, 0, 0 }; int min = 0; IEnumerable<int> nonZero = data.Where(d => d != 0); if (nonZero.Any()) min = nonZero.Min();