public static    string    Concat(params    object[]args)

В первой форме методConcat() возвращает строку, эквивалентную объектуargO, ав остальных формах — строку, получаемую в результате сцепления всех аргументов данного метода. Объектные формы методаConcat (), т.е. относящиеся к типуobj ect,очень удобны, поскольку они исключают получение вручную строковых представлений объектов перед их сцеплением. В приведенном ниже примере программы наглядно демонстрируется польза от подобных форм метода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

Перейти на страницу:

Похожие книги