Назад
Создание прибыльного бизнеспроекта на базе сайта

SEO + ASP.NET 4.0 + БИЗНЕСМОДЕЛЬ = ПРИБЫЛЬНЫЙ САЙТ

Инструмент быстрого построения прибыльного онлайн бизнеса своими силами без капиталовложений за 4 месяца все подробности на SEO + ASP.NET 4.0.

Подписка на рассылку

МАГИЯ C#!

Создание вебсайта с формой автоматического приема онлайн платежей по WebMoney!
Ваше имя
Ваш e-mail
Уроки по ASP.NET c# ADO.NET
     

18 видеоуроков
более 5 часов
по созданию сайта,
выполняющего
продажи ваших продуктов (физических/электронных) на полном автомате с личным оповещением на e-mail, а также ...
DVD-курс по C#, .NET

3 часть. Введение в ASP.NET. WebServices Профессиональная подготовка разработчика по языку C# на платформе .NET

asp.net webservices dvd c# gridview Гудок курс Более 65 подробных видео уроков по теоретическим основам технологии сайтостроения ASP.NET и процессу создания и использованию вебсервисов.

DVD-курс по C#, .NET

2А часть. XML/TXT в аспекте ADO.NET Профессиональная подготовка разработчика по языку C# на платформе .NET

xml txt dvd c# ADO ADO.NET Гудок курс 70 подробных видео уроков по работе с форматами xml, txt, по работе с файлами и директориями. Разработка высокоорганизованных свойств для значительного сокращения объема исходного кода и облегчения дальнейшей модификации и многое-многое другое...

DVD-курс по C#, .NET

1 часть. Windows Forms Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок

185 подробнейших уроков (70 часов) лекций в формате видеоуроков по теории языка c# и платформы .NET. Практическое закрепление теоретического материала на примере создания Windows Forms - приложения видеоигры "Tanks"

DVD-курс по C#, .NET

2 часть. ADO.NET/SQL Профессиональная подготовка разработчика по языку C# на платформе .NET

Профессиональная подготовка на c# А. Гудок ADO.NET sql

165 подробных видео уроков по созданию приложений распределенных баз данных на примере разработки проектов с использований технологий ADO.NET (Connected model, Disconnected model, Typed DataSet, ...)


Я записываю курсы!
  Курс валют

НБУ курс евро






Строковые массивы класса string в c#



Похожая тема Символьные массивы в c#

Основным типом при работе со строками является тип string, задающий строки переменной длины. Класс String в языке C# относится к ссылочным типам. Над строками (объектами этого класса) определён широкий набор операций. Объекты класса String объявляются как все прочие объекты простых типов. Можно сконструировать строку из:

  • символа, повторенного заданное число раз;
  • массива символов char[];
  • части массива символов.

Примеры объявления строк:

// объявление с инициализацией значением Сайт
string world = "Сайт";
// строка в куче из пяти повторяющихся символов
string sssss = new string('s',5);
// string s1 = new string("s1"); так нельзя
// string s2 = new string(); так тоже нельзя
// а так можно 
string s2; // это и есть объявление пустой строки в куче
// преобразование в символьный массив явно заданной строки
char[] yes = "Привет посетителям портала!".ToCharArray();
// объявление строки с инициализацией символами из массива
string stryes = new string(yes);
// объявление с копированием подстроки Привет 
// (с нулевого шесть символов)
string strye = new string(yes, 0, 6);

Над строками определены следующие операции:

  • присваивание (=);
  • две операции проверки эквивалентности: равно (= =) и не равно (!=);
  • конкатенация (объединение) или сцепление строк (+);
  • взятие индекса ([]).

Операция присваивания имеет важную особенность. Поскольку string – это ссылочный тип, то в результате присваивания создаётся ссылка на константную строку, хранимую в "куче". С одной и той же строковой константой в "куче" может быть связано несколько переменных строкового типа. Но эти переменные не являются псевдонимами, т.е. не являются разными именами одного и того же объекта. Дело в том, что строковые константы в "куче" не изменяются, потому что класс string относится к неизменяемым классам (immutable). Поэтому когда одна из переменных получает новое значение, она связывается с новым константным объектом в "куче". Остальные переменные сохраняют свои связи. Для программиста это означает, что семантика присваивания строк аналогична семантике значимого присваивания. Отсюда следует, что в отличие от других ссылочных типов операции, проверяющие эквивалентность (совпадение строк), сравнивают значения строк, а не ссылки. Эти операции выполняются как над значимыми типами.

Бинарная операция "+" сцепляет две строки, приписывая вторую строку к хвосту первой. Возможность взятия индекса при работе со строками отражает тот приятный факт, что строку можно рассматривать как массив и получать без труда каждый её символ. Каждый символ строки имеет тип char, доступный, правда, только для чтения, но не для записи. Рассмотрим пример:

string s1 = "ABC", s2 = "CDE";
// новая строка в куче как объединение строк
string s3 = s1 + s2;
// строка s2 получает новое значение в виде ссылки на АВС	
s2 = s1; // значение CDE – объект для сборщика мусора
// строка s2 получает новое значение и новое место в куче
s2 = “FGH’; // а s1 сохраняет старое значение и ссылку
// ch1 получает значение А, ch2 – значение F
char ch1 = s1[0], ch2 = s2[0];
// а вот так нельзя – значение строки неизменяемое
// s1[0] = 'L'; s2[1] = ch1;

В C# существуют два вида строковых констант:

  • обычные константы, которые представляют строку символов, заключённую в кавычки;
  • @-константы, заданные обычной константой c предшествующим знаком @.

В обычных константах некоторые символы интерпретируются особым образом. Связано это, прежде всего, с тем, что необходимо уметь задавать в строке непечатаемые символы, такие, как, например, символ табуляции. Возникает необходимость задавать символы их кодом – в виде escape-последовательностей. Для всех этих целей используется комбинация символов, начинающаяся символом "\" - обратная косая черта. Так, пары символов: ‘\n’, ‘\t’, ‘\\’, ‘\"’ задают соответственно символ перехода на новую строку, символ табуляции, сам символ обратной косой черты, символ кавычки, вставляемый в строку, но не сигнализирующий о её окончании. Комбинация "\xNNNN" задаёт символ, определяемый шестнадцатеричным кодом NNNN. Хотя такое решение возникающих проблем совершенно естественно, иногда возникают неудобства: например, при задании констант, определяющих путь к файлу, приходится каждый раз удваивать символ обратной косой черты. Это одна из причин, по которой появились @-константы.

В @-константах все символы трактуются в полном соответствии с их изображением. Поэтому путь к файлу лучше задавать @-константой. Единственная проблема в таких случаях: как задать символ кавычки, чтобы он не воспринимался как конец самой константы. Решением является удвоение символа. Вот соответствующий пример:

// Задание имен файла двумя видами констант
s1 = "d:\\skill\\coding\\article.doc";
s2 = @"d:\skill\coding\article.doc";

Ниже приведены статические методы и свойства класса String.

статические методы и свойства класса String

Метод Format в примерах статей на нашем портале уже встречался. Всякий раз, когда выполнялся вывод результатов на консоль, неявно вызывался и метод Format. Рассмотрим оператор печати:

Console.WriteLine("s1 = {0}, s2 = {1}", s1,s2);

Здесь строка, задающая первый аргумент метода, помимо обычных символов, содержит форматы, заключённые в фигурные скобки. В данном примере используется простейший вид формата – он определяет объект, который должен быть подставлен в участок строки, занятый данным форматом. Кроме статических методов, класс имеет динамические методы и свойства.

динамические методы и свойства класса String



Больше информации читайте по теме:

c# - Символьные массивы
Массивы в C#
Операторы языка C#
Операции языка C# и особенности их использования
Шифрование на c# (хеш-код строки по алгоритму MD5)
Отписка от событий в c#
Примеры регулярных выражений на c# (класс RegularExpressions.Regex)
c# - итератор для списка Dictionary (foreach для словаря)
Перемешивание списков (массивов) любых типов на c# - противоположность сортировки
c# - CultureInfo (IFormatProvider) и конвертация, приведение числовых типов
Работа в c# с DateTime - получение набора дат в текущем году
GZip - архивация (упаковка) файлов на c#
DateTime - пример определения даты и времени
Время выполнения операций c#
Паттерн (шаблон) SingleTon средствами c#
Обобщенная коллекция Dictionary
c# структуры - не классы?! А что же это - struct VS class
Создание пользовательских событий на c#
Выборка файлов из директории и поддиректорий на c#
Делегаты и методы на c#
Запуск одного экземпляра приложения на c#
c# - Битовый флаг enum



Оценить статью:

Оценивая статью, Вы подсказываете нам насколько данная информация стала полезной именно для Вас. Мы ожидаем, прежде всего, оценку доступности материала для понимания и простоты его изложения. Дополнительные комментари, вопросы, дополнения и замечания Вы можете указать на странице От Вас

Частичное, или полное копирование материала данной статьи возможно лишь при размещении ссылки на данную страницу.


            
        


        FitheR    12.08.2010 11:25:21
        

Я эту статью видел в книге!


        Саша Гудок    14.08.2010 11:21:01
        

Ну да, понимаю, что хочется новенького и свеженького, сам такой. Постараюсь более жестче фильтровать предлагаемые статьи для публикации. Но, если честно, сам подумал, что многим это будет полезно вспомнить.




Имя:  


Текст комментариев (не больше 600 знаков):  
введите не более 600 знаков



Введите символы с картинки:
Капча имеет "срок годности". Поэтому, если необходимо обновите страницу.



Сантехник срочно
c# курс Гудок   курс по ASP.NET Гудок   курс по ADO.NET Гудок   курс по XML txt Гудок   курс по рефлексии и многопоточности Гудок