/// <summary> /// Возвращает элемент с наиболее длинным строковым представлением /// </summary> public static T Longest <T>(this Matrix <T> matrix) { if (matrix.IsEmpty()) { return(default(T)); } T longest = matrix[0][0]; for (int i = 0; i < matrix.Rows; i++) { for (int j = 0; j < matrix.Columns; j++) { if (longest.ToString().Length < matrix[i][j].ToString().Length) { longest = matrix[i][j]; } } } return(longest); }
/// <summary> /// Возвращает наибольший элемент в матрице /// </summary> public static C Max <C>(this Matrix <C> matrix) where C : IComparable { if (matrix.IsEmpty()) { return(default(C)); } C max = matrix[0][0]; for (int i = 0; i < matrix.Rows; i++) { for (int j = 0; j < matrix.Columns; j++) { if (max.CompareTo(matrix[i][j]) < 0) { max = matrix[i][j]; } } } return(max); }