Символьные типы в С#. Статические методы и свойства класса String

Страницы работы

Фрагмент текста работы

Класс char - cимвол, заключенный в одинарные кавычки; - escape-последовательность, задающая код символа; - Unicode-последовательность, задающая Unicode-код символа. Статические методы и свойства класса Char

Класс char[]

public void TestCharArAndString() { string hello = "Здравствуй, Мир!"; char[] strM1 = hello.ToCharArray(); PrintCharAr("strM1",strM1); //копирование подстроки char[] World = new char[3]; Array.Copy(strM1,12,World,0,3); PrintCharAr("World“, World); Console.WriteLine(CharArrayToString(World)); } void PrintCharAr(string name, char[] ar) { Console.WriteLine(name); for(int i=0; i < ar.Length; i++) Console.Write(ar[i]); Console.WriteLine(); } string CharArrayToString(char[] ar){ string result=""; for(int i = 0; i< ar.Length; i++) result += ar[i]; return(result); }

Класс String

  • Конструкторы:
  • String(char ch, int iCount);
  • String(char[] ach);
  • String(char[] ach, int iStartlndex, int iCount);
  • public void TestDeclStrings(){
  • string world = "Мир";
  • //string s1 = new string(“Мир"); - ошибка
  • //string s2 = new string(); - ошибка
  • string s3 = new string('s',5);
  • char[] yes = "Yes".ToCharArray();
  • string stryes = new string(yes);
  • string strye = new string(yes,0,2);
  • }

Операции над строками

  • присваивание (=);
  • две операции проверки эквивалентности (= =) и (!=);
  • конкатенация или сцепление строк (+);
  • взятие индекса ([]).
  • public void TestOpers() {
  • string s1 ="ABC", s2 ="CDE";
  • string s3 = s1+s2;
  • bool b1 = (s1==s2);
  • char ch1 = s1[0], ch2=s2[0];
  • s2 = s1;
  • b1 = (s1!=s2);
  • ch2 = s2[0];
  • //Неизменяемые значения
  • s1= "Zenon";
  • //s1[0]='L'; - ошибка
  • }

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

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

  • Копирование строки и подстроки
  • object Clone();
  • string Copy(string str);
  • string Substring(int iStartlndex);
  • string Substring(int iStartlndex, int ICount) ;
  • Преобразования строк
  • string ToUpper(CultureInfo ci);
  • string ToLower(CultureInfo ci);
  • Конкатенация строк
  • string Concat(string strl, string str2);
  • string Concat(string strl, string str2, string str3);
  • string Concat(string strl, string str2, string str3, string str4);
  • string Concat(params string[] astr);
  • Объединение строк
  • string Join(string strSeparator, string[] astr);
  • string Join(string strSeparator, string[] astr, int iStartlndex, int iCount);

  • Сравнение строк
  • bool Equals(string str);
  • bool Equals(object obj);
  • bool StartsWith(string str);
  • bool EndsWith(string str);
  • А вот результат лексического сравнения;
  • d < D < e < E < f < F
  • int CompareTo(string str2);
  • int CompareTo(object obj2);
  • int Compare(string str1, string str2);
  • int Compare(string str1, string str2, bool blgnoreCase);
  • int Compare(string str1, string str2, bool blgnoreCase, Culturelnfo ci);
  • int Compare(string str1, int iStartlndexl, string str2, int iStartIndex2, int iCount);
  • int Compare(string str1, int iStartlndexl, string str2, int iStartIndex2, int iCount, bool blgnoreCase);
  • Вот результат числового сравнения некоторых символов:
  • D < E < F < d < e < f
  • int CompareOrdinal(string str1, string str2);
  • int CompareOrdinal(string str1, int iStartlndexl, string str2, int iStartIndex2, int iCount);
  • int Compare(string str1, int iStartlndexl, string str2, int iStartIndex2, int iCount, bool blgnoreCase, Culturelnfo ci);

  • Поиск в строках
  • int IndexOf(char ch);
  • int IndexOf(char ch, int iStartIndex);
  • int IndexOf(char ch, int iStartlndex, int iCount);
  • int IndexOf(string str);
  • int IndexOf(string str, int iStartlndex);
  • int IndexOf(string str, int iStartlndex, int iCount);
  • int LastlndexOf(char ch);
  • int LastlndexOf(char ch, int iStartlndex);
  • int LastlndexOf(char ch, int iStartlndex. int iCount);
  • int LastlndexOf(string str);
  • int LastlndexOf(string str, int iStartlndex);
  • int LastlndexOf(string str, int iStartlndex, int iCount);
  • int IndexOfAny(char[] ach);
  • int IndexOfAny(char[] ach, int iStartlndex);
  • int IndexOfAny(char[] ach, int iStartlndex, int iCount);
  • int LastIndexOfAny(char[] ach);
  • int LastIndexOfAny(char[] ach, int iStartlndex);
  • int LastIndexOfAny(char[] ach, int iStartlndex, int iCount);

  • Отсечение и заполнение
  • string Trim();
  • string Trim(params char[] ach);
  • string TrimStart(params char[] ach);
  • string TrimEnd(params char[] ach);
  • str.Trim(‘ ', '-', '_'};
  • string PadLeft(int iTotalLength);
  • string PadLeft(int iTotalLength, char ch);
  • string PadRight(int iTotalLength);
  • string PadRight(int iTotalLength, char ch);
  • Манипуляции со строками
  • string Insert(int iIndex, string strInsert);
  • string Remove(int iIndex, int iCount);
  • string Replace(char chOld, char chNew);
  • string Replace(string strOld, string strNew);

  • Разбиение строк на массив
  • string[] Split(params char[] achSeparators);
  • string[] Split(params char[] achSeparators, int IReturnCount);
  • Форматирование строк
  • string Format(string strFormat, object obj0);
  • string Format(string strFormat, object obj0, object objl);
  • string Format(string strFormat, object obj0, object obj1, object obj2);
  • string Format{string strFormat, params object[] aobj);
  • string str = String.Format("The sum of {0} and {1} is {2}", 2, 3, 2 + 3);
  • //возвращает строку "The sum of 2 and 3 is 5»
  • {N [,M [:<коды_форматирования>]]}

  • Сортировка в массивах строк
  • Применяют метод int CompareTo(object obj):
  • void Sort(Array агг);
  • void Sort(Array агг, int iStartlndex, int iCount);
  • Применяют метод int Compare(object objl, object obj2);
  • void Sort(Array агг, IComparer comp);
  • void Sort(Array агг, int iStartlndex, int iCount, IComparer comp);
  • void Sort(Array arrKeys, Array arrltems, IComparer comp);
  • void Sort(Array arrKeys, Array arrltems, int iStartlndex, iCount, IComparer comp);
  • Поиск в массивах строк
  • int BinarySearch(Array агг, object obj);
  • int BinarySearch(Array агг, int iStartlndex, int iCount, object obj);
  • int BinarySearch(Array агг, object obj, IComparer comp);
  • int BinarySearch(Array агг, int iStartlndex, int iCount, object obj, IComparer comp);

public void TestSplitAndJoin(){ string txt = "А это пшеница, которая в темном чулане хранится," +" в доме, который построил Джек!"; Console.WriteLine("Разделение текста на простые предложения:"); string[] SimpleSentences, Words; SimpleSentences = txt.Split(','); // метод сам создает массив for(int i=0;i< SimpleSentences.Length; i++) Console.WriteLine("SimpleSentences[{0}]= {1}", i, SimpleSentences[i]); string txtjoin = string.Join(",",SimpleSentences); Console.WriteLine("txtjoin={0}", txtjoin); Words = txt.Split(',', ' '); for(int i=0;i< Words.Length; i++) Console.WriteLine("Words[{0}]= {1}",i, Words[i]); txtjoin = string.Join(" ",Words); Console.WriteLine("txtjoin={0}", txtjoin); }

Класс StringBuilder

  • using System.Text;
  • Конструкторы:
  • public StringBuilder ();
  • public StringBuilder (string str, int cap).
    • str задает строку инициализации, cap - емкость объекта;
  • public StringBuilder (int curcap, int maxcap).
    • curcap и maxcap задают начальную и максимальную емкость объекта;
  • public StringBuilder (string str, int start, int len, int cap).
    • str, start, len задают строку инициализации, cap - емкость объекта.
    • свойство Capacity - возвращает или устанавливает текущую емкость буфера;
    • свойство MaxCapacity - возвращает максимальную емкость буфера;
    • метод int EnsureCapacity (int capacity) - позволяет увеличить емкость буфера.

static void Main(string[] args) { StringBuilder txtbuild = new StringBuilder(); StringBuilder strbuild = new StringBuilder("Hello",2000); Console.WriteLine("curvol1= {0}", txtbuild.Capacity); Console.WriteLine("curvol2= {0}", strbuild.Capacity); Console.WriteLine("maxvol1= {0}", txtbuild.MaxCapacity); Console.WriteLine("maxvol2= {0}", strbuild.MaxCapacity); int sure1 = txtbuild.EnsureCapacity(100); int sure2 = strbuild.EnsureCapacity(100); Console.WriteLine("sure1= {0}", sure1); Console.WriteLine("sure2= {0}", sure2); Console.WriteLine("curvol2= {0}", strbuild.Capacity); //strbuild.Capacity = 3; ошибка! попытка установить емкость меньше длины строки strbuild.Capacity = 256; //так можно! Console.WriteLine("curvol2= {0}", strbuild.Capacity); //увеличим строку – емкость автоматически увеличится int len = strbuild.Length; strbuild.Append(strbuild.ToString()); Console.WriteLine("curvol1= {0}", strbuild.Capacity); strbuild.Remove(len, len); //уменьшим строку Console.WriteLine("curvol1= {0}", strbuild.Capacity); }

Операции над строками StringBuilder и основные методы

  • присваивание (=);
  • две операции проверки эквивалентности (= =) и (!=);
  • взятие индекса ([]).
  • public StringBuilder Append (<объект>) - к строке присоединяется строка, полученная из объекта, который передан методу в качестве параметра.
  • public StringBuilder Insert (int location,<объект>) - метод вставляет строку, полученную из объекта, в позицию, указанную параметром location.
  • public StringBuilder Remove (int start, int len) - метод удаляет подстроку длины len, начинающуюся с позиции start.
  • public StringBuilder Replace (string str1,string str2) - все вхождения подстроки str1 заменяются на строку str2.
  • public StringBuilder AppendFormat (<строка форматов>, <объекты>).

StringBuilder strbuild = new StringBuilder(); string str = "это это не "; strbuild.Append(str); strbuild.Append(true); strbuild.Insert(4,false); strbuild.Insert(0,"2*2=5 - "); Console.WriteLine(strbuild); string txt = "А это пшеница, которая в темном чулане хранится

Похожие материалы

Информация о работе