public static string Concat(object argO, object argl, object arg2, object arg3)
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
В версию 4.0 среды .NET Framework добавлены еще две формы метода Concat (), приведенные ниже.
public static string Concat(IEnumerable values) public static string Concat(IEnumerable values)
В первой форме этого метода возвращается символьная строка, состоящая из сцепленных строковых представлений ряда значений, имеющихся в объекте, который обозначается параметром values и может быть объектом любого типа, реализующего интерфейс IEnumerable. А во второй форме данного метода сцепляются строки, обозначаемые параметром values. (Следует, однако, иметь в виду, что если приходится выполнять большой объем операций сцепления символьных строк, то для этой цели лучше воспользоваться средствами класса StringBuilder.)
Поиск в строке
В классе String предоставляется немало методов для поиска в строке. С их помощью можно, например, искать в строке отдельный символ, строку, первое или последнее вхождение того и другого в строке. Следует, однако, иметь в виду, что поиск может осуществляться либо с учетом культурной среды либо порядковым способом.
Для обнаружения первого вхождения символа или подстроки в исходной строке служит метод IndexOf () . Для него определено несколько перегружаемых форм. Ниже приведена одна из форм для поиска первого вхождения символа в исходной строке.
Читать дальше