У меня есть класс, который в основном предоставляет 2d-массив его вызывающему (после разбора файла). Он возвращает этот массив в порядке, но мне нужно предоставить способ для этого вызывающего объекта преобразовать этот 2d-массив в строку с несколькими разделителями. псевдокод ниже.C# .net переопределить ToString для массива multiD
Полное описание: Большая часть моего времени сценарии в других программах, поэтому я немного ржавый на объектно-ориентированном программировании в реальности, и особенно в C#
Я хочу, чтобы абонент, чтобы иметь возможность:
string[,] results;
getArray (arg1, arg2, etc, out results);
Debug.WriteLine(results.ToString(delim1, delim2));
, но я не ясно, о том, как создать это переопределение для ToString(), что-то вроде:
public override string[,] ToString(string rowSeparator, string columnSeparator)
{
string retVal = "";
for(int r = 0; r < this.getUpperBound(0); r ++)
{
for (int c = 0; c < this.getUpperBound(1); c++)
{
retVal += this[r,c];
if (c + 1 < this.getUpperBound(1))
{
retVal += columnSeparator;
}
}
if (r + 1 < this.getUpperBound(0))
{
retVal += rowSeparator;
}
}
return retVal;
}
Вы имели в виду 'ToString' в вашем коде кода? –
@JonSkeet, да. Спасибо, что спросили, я отредактировал, чтобы показать, что – Keith
В стороне, если вы контролируете 'getArray', почти наверняка будет лучше * вернуть *, чтобы вместо использования параметра' out' и следовать соглашениям об именах .NET , –