Unetway

C # - Строки

В C # вы можете использовать строки как массив символов. Однако более распространенной практикой является использование ключевого слова string для объявления строковой переменной. Ключевое слово string - это псевдоним для класса System.String .

Создание объекта String

Вы можете создать объект string, используя один из следующих способов:

  • Назначая строковый литерал переменной String
  • Используя конструктор класса String
  • Используя оператор конкатенации строк (+)
  • Извлечение свойства или вызов метода, который возвращает строку
  • Вызвав метод форматирования для преобразования значения или объекта в его строковое представление

Следующий пример демонстрирует это -

using System;

namespace StringApplication {

   class Program {
   
      static void Main(string[] args) {
         //from string literal and string concatenation
         string fname, lname;
         fname = "Rowan";
         lname = "Atkinson";
			
         char []letters= { 'H', 'e', 'l', 'l','o' };
         string [] sarray={ "Hello", "From", "Tutorials", "Point" };
         
         string fullname = fname + lname;
         Console.WriteLine("Full Name: {0}", fullname);
         
         //by using string constructor { 'H', 'e', 'l', 'l','o' };
         string greetings = new string(letters);
         Console.WriteLine("Greetings: {0}", greetings);
         
         //methods returning string { "Hello", "From", "Tutorials", "Point" };
         string message = String.Join(" ", sarray);
         Console.WriteLine("Message: {0}", message);
         
         //formatting method to convert a value
         DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);
         string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);
         Console.WriteLine("Message: {0}", chat);
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, October 10, 2012

Свойства строкового класса

Класс String имеет следующие два свойства:

  • Символов - получает объект Char в указанной позиции в текущем объекте String .
  • Длина - возвращает количество символов в текущем объекте String.

Методы строкового класса

Класс String имеет множество методов, которые помогут вам работать со строковыми объектами. В следующей таблице приведены некоторые из наиболее часто используемых методов -

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

Вы можете посетить библиотеку MSDN для полного списка методов и конструкторов класса String.

Примеры

Следующий пример демонстрирует некоторые из упомянутых выше методов -

Сравнение строк

using System;

namespace StringApplication {

   class StringProg {
   
      static void Main(string[] args) {
         string str1 = "This is test";
         string str2 = "This is text";

         if (String.Compare(str1, str2) == 0) {
            Console.WriteLine(str1 + " and " + str2 +  " are equal.");
         } else {
            Console.WriteLine(str1 + " and " + str2 + " are not equal.");
         }
         Console.ReadKey() ;
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

This is test and This is text are not equal.

Строка содержит строку

using System;

namespace StringApplication {

   class StringProg {
   
      static void Main(string[] args) {
         string str = "This is test";
         
         if (str.Contains("test")) {
            Console.WriteLine("The sequence 'test' was found.");
         }
         Console.ReadKey() ;
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

The sequence 'test' was found.

Получение подстроки

using System;

namespace StringApplication {

   class StringProg {
   
      static void Main(string[] args) {
         string str = "Last night I dreamt of San Pedro";
         Console.WriteLine(str);
         string substr = str.Substring(23);
         Console.WriteLine(substr);
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

San Pedro

Присоединение к строкам

using System;

namespace StringApplication {

   class StringProg {
   
      static void Main(string[] args) {
         string[] starray = new string[]{"Down the way nights are dark",
            "And the sun shines daily on the mountain top",
            "I took a trip on a sailing ship",
            "And when I reached Jamaica",
            "I made a stop"};

         string str = String.Join("\n", starray);
         Console.WriteLine(str);
      }
   }
}

Когда приведенный выше код компилируется и выполняется, он производит следующий результат:

Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop