Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public override string ToString()
- {
- return ToString("G", CultureInfo.CurrentCulture);
- }
- /// <summary>
- /// Вид форматной строки: {index[:formatString][,alignment]}
- /// </summary>
- public string ToString(string _format)
- {
- return ToString(_format, CultureInfo.CurrentCulture);
- }
- /// <summary>
- /// Вид форматной строки: {index[:formatString][,alignment]}
- /// </summary>
- public string ToString(string _format, IFormatProvider _provider)
- {
- if (_matrix == null)
- return "null";
- _provider = _provider ?? CultureInfo.CurrentCulture;
- string width = "0";
- if (string.IsNullOrEmpty(_format))
- _format = "{0:G} ";
- else if (_format.IndexOf(',') != -1)
- {
- int index = _format.IndexOf(',');
- width = _format.Substring(index + 1);
- _format = string.Format("{{0,{0}:{1}}}", width, _format.Substring(0, index));
- if (width == "" || _format == "")
- throw new FormatException(string.Format("Неверный формат для печати матрицы {0}", _id));
- }
- else
- {
- width = char.IsLetter(_format[0]) || _format[0] == '0' ? "12" : _format;
- _format = string.Format(char.IsLetter(_format[0]) || _format[0] == '0' ? "{{0:{0}}} " : "{{0,{0}}}", _format);
- }
- StringBuilder str = new StringBuilder(Convert.ToInt32(width) * _matrix.Length + 2 * _matrix.GetLength(0));
- for (int i = 0; i < _matrix.GetLength(0); i++)
- {
- for (int j = 0; j < _matrix.GetLength(1); j++)
- str.AppendFormat(_format, _matrix[i, j]);
- str.AppendFormat("\n");
- }
- return str.ToString();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement