У меня есть datatable с 6 столбцами, и я должен найти минимальное значение для каждой строки. Как это может быть сделано?C# min from datatable row
Col1 Col2 Col3 Col4 Col5 Col6 Min
45 41 24 25 74 145 24
27 28 398 82 2 54 2
5 563 7 20 43 254 5
У меня есть datatable с 6 столбцами, и я должен найти минимальное значение для каждой строки. Как это может быть сделано?C# min from datatable row
Col1 Col2 Col3 Col4 Col5 Col6 Min
45 41 24 25 74 145 24
27 28 398 82 2 54 2
5 563 7 20 43 254 5
попробовать это,
List<int> result = new List<int>();
foreach (DataRow row in table.Rows)
{
result.Add(row.ItemArray.Cast<int>().Min());
}
dataTable.Select(row => Math.Min(Math.Min(Math.Min(Math.Min(Math.Min(row.Col1, row.Col2), row.Col3), row.Col4), row.Col5), row.Col6));
или
dataTable.Select(row => new int[] { row.Col1, row.Col2, row.Col3, row.Col4, row.Col5, row.Col6 }).Select(intArray => intArray.Min());
или shortend:
dataTable.Select(row => (new int[] { row.Col1, row.Col2, row.Col3, row.Col4, row.Col5, row.Col6 }).Min()));
или
dataTable.Select(row => row.ItemArray.Cast<int>().Min());
или если ваш DataTable содержит другие столбцы, которые не Интс:
dataTable.Select(row => row.ItemArray.OfType<int>().Min());
var result = dt.AsEnumerable()
.Select(row => row.ItemArray.Cast<int>().Min());
-1. Не показывать никаких усилий вообще. –