public static string Concat(params object[]
В первой форме метод
Concat() возвращает строку, эквивалентную объекту.// Продемонстрировать применение объектной формы метода Concat()." using System;
public static int Count = 0; public MyClassO { Count++; }
}
class ConcatDemo { static void Main() {
string result = String.Concat("значение равно " + 19);
Console.WriteLine("Результат: " + result);
result = String.Concat("привет ", 88, " ", 20.0,
" ", false, " ", 23.45M);
Console.WriteLine("Результат: " + result);
MyClass me = new MyClassO;
result = String.Concat(me, " текущий счет равен ",
MyClass.Count);
Console.WriteLine("Результат: " + result);
}
}
Вот к какому результату приводит выполнение этой программы.
Результат: значение равно 19 Результат: привет 88 20 False 23.45 Результат: MyClass текущий счет равен 1
В данном примере метод
Concat() сцепляет строковые представления различных типов данных. Для каждого аргумента этого метода вызывается соответствующий методToString (), с помощью которого получается строковое представление аргумента. Следовательно, в следующем вызове методаConcat():string result = String.Concat("значение равно " + 19);
метод
Int32.ToString()вызывается для получения строкового представления целого значения 19, а затем методConcat() сцепляет строки и возвращает результат.Обратите также внимание на применение объекта определяемого пользователем класса
MyClassв следующем вызове методаConcat ().result = String.Concat(me, " текущий счет равен ",
MyClass.Count);
В данном случае возвращается строковое представление объекта типа
MyClass,сцепленное с указываемой строкой. По умолчанию это просто имя класса. Но если переопределить методToString (), то вместо строки с именем классаMyClassможет быть возвращена другая строка. В качестве упражнения попробуйте ввести в приведенный выше пример программы следующий фрагмент кода.public override string ToString() {
return "Объект типа MyClass";
}
В этом случае последняя строка результата выполнения программы будет выглядеть так, как показано ниже.
Результат: Объект типа MyClass текущий счет равен 1