Максимальная длина строки для всей таблицы (при условии, что там есть хотя бы одно ненулевое значение, в противном случае Max
сгенерирует исключение):
int maxStringLength = dataTable.AsEnumerable()
.SelectMany(row => row.ItemArray.OfType<string>())
.Max(str => str.Length);
Если вам нужна максимальная длина строки для каждого столбца, вы можете это сделать (если в каждом столбце есть хотя бы одно ненулевое значение, в противном случае Max
выдаст исключение):
List<int> maximumLengthForColumns =
Enumerable.Range(0, dataTable.Columns.Count)
.Select(col => dataTable.AsEnumerable()
.Select(row => row[col]).OfType<string>()
.Max(val => val.Length)).ToList();