Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«C# 4.0 ΠΏΠΎΠ»Π½ΠΎΠ΅ руководство - 2011Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 196

Автор Π“Π΅Ρ€Π±Π΅Ρ€Ρ‚ Π¨ΠΈΠ»Π΄Ρ‚

Для обнаруТСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа ΠΈΠ»ΠΈ подстроки Π² исходной строкС слуТит ΠΌΠ΅Ρ‚ΠΎΠ΄ IndexOf (). Для Π½Π΅Π³ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ΄Π½Π° ΠΈΠ· Ρ„ΠΎΡ€ΠΌ для поиска ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа Π² исходной строкС.

public int IndexOf(char value)

Π’ этой Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° IndexOf () возвращаСтся ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ символа value Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС. Если символ value Π² Π½Π΅ΠΉ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½, jo возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1. ΠŸΡ€ΠΈ Ρ‚Π°ΠΊΠΎΠΌ поискС символа настройки ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎΠΉ срСды ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС осущСствляСтся порядковый поиск ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа. .

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΅Ρ‰Π΅ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° IndexOf (), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ строки Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

public int IndexOf(String value)

public int IndexOf(String value, StringComparison comparisonType)

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ рассматриваСмого здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄Π° поиск ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния строки, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ value, осущСствляСтся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎΠΉ срСды. А Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° StringComparison, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ способ поиска. Π’ Ссли искомая строка Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ Π² ΠΎΠ±Π΅ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1.

Для обнаруТСния послСднСго вхоТдСния символа ΠΈΠ»ΠΈ строки Π² исходной строкС слуТит ΠΌΠ΅Ρ‚ΠΎΠ΄ Last IndexOf (). И для этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ нСсколько ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ„ΠΎΡ€ΠΌ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° ΠΎΠ΄Π½Π° ΠΈΠ· Ρ„ΠΎΡ€ΠΌ для поиска послСднСго вхоТдСния символа Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС.

public int LastlndexOf(char value)

Π’ этой Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° LastlndexOf () осущСствляСтся порядковый поиск, Π° Π² ΠΈΡ‚ΠΎΠ³Π΅ возвращаСтся послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ символа value Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС ΠΈΠ»ΠΈ ΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1, Ссли искомый символ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π΅Ρ‰Π΅ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° LastlndexOf (), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΡΠΊΠ°Ρ‚ΡŒ послСднСС Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ строки Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ.

public int LastlndexOf(string value)

public int LastlndexOf(string value, StringComparison comparisonType)

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ рассматриваСмого здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄Π° поиск послСднСго вхоТдСния строки, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ value, осущСствляСтся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎΠΉ срСды. А Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ прСдоставляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° StringComparison, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰Π΅Π΅ способ поиска. Если ΠΆΠ΅ искомая строка Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, Ρ‚ΠΎ Π² ΠΎΠ±Π΅ΠΈΡ… Ρ„ΠΎΡ€ΠΌΠ°Ρ… Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1.

Π’ классС String ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Π΄Π²Π° интСрСсных ΠΌΠ΅Ρ‚ΠΎΠ΄Π° поиска Π² строкС: IndexOf Any () ΠΈ LastlndexOf Any (). Оба ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ символ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ с Π»ΡŽΠ±Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

public int IndexOfAny(char[] anyOf) public int LastlndexOfAny(char[] anyOf)

ΠœΠ΅Ρ‚ΠΎΠ΄ IndexOf Any () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния любого символа ΠΈΠ· массива anyOf, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС, Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ LastlndexOfAny () β€” индСкс послСднСго вхоТдСния любого символа ΠΈΠ· массива anyOf, ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС. Если совпадСниС символов Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΎ, Ρ‚ΠΎ Π² ΠΎΠ±ΠΎΠΈΡ… случаях возвращаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΎΠ±ΠΎΠΈΡ… рассматриваСмых здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… осущСствляСтся порядковый поиск.

ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… строк Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ оказываСтся ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ, начинаСтся Π»ΠΈ строка Π·Π°Π΄Π°Π½Π½ΠΎΠΉ подстрокой ΠΈΠ»ΠΈ ΠΆΠ΅ оканчиваСтся Сю. Для этой Ρ†Π΅Π»ΠΈ слуТат ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ StartsWith () ΠΈ EndsWith (). НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΈΡ… ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹.

public bool StartsWith(string value) public bool EndsWith(string value)

ΠœΠ΅Ρ‚ΠΎΠ΄ StartsWith () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ строка начинаСтся с подстроки, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° value. А ΠΌΠ΅Ρ‚ΠΎΠ΄ EndsWith () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ строка оканчиваСтся подстрокой, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π΅ΠΌΡƒ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° value. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΠ±Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false.

Π’ ΠΎΠ±ΠΎΠΈΡ… рассматриваСмых здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Ρ… поиск осущСствляСтся с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΡƒΠ»ΡŒΡ‚ΡƒΡ€Π½ΠΎΠΉ срСды. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ способ поиска подстроки, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌΠΈ Π½ΠΈΠΆΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Ρ‚ΠΈΠΏΠ° StringComparison.

public bool StartsWith(string value, StringComparison comparisonType) public bool EndsWith(string value, StringComparison comparisonType)

Оба Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° рассматриваСмых здСсь ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹. Но Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΎΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ способ поиска.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дСмонстрируСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска Π² строкС.

// ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поиск Π² строкС.

using System;

class StringSearchDemo { static void Main() {

string str = "C# ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ эффСктивными срСдствами ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк."; int idx;

Console.WriteLine("Π‘Ρ‚Ρ€ΠΎΠΊΠ° str: " + str); idx = str.IndexOf('o');

Console.WriteLine("ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа 'o': " + idx); idx = str.LastlndexOf('ΠΎ');

Console.WriteLine("ИндСкс послСднСго вхоТдСния символа 'o': " + idx); idx = str.IndexOf("ΠΌΠΈ", StringComparison.Ordinal);

Console.WriteLine("ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния подстроки \"ΠΌΠΈ\": " + idx); idx = str.LastlndexOf("ΠΌΠΈ", StringComparison.Ordinal);

Console.WriteLine("ИндСкс послСднСго вхоТдСния подстроки \"ΠΌΠΈ\": " + idx);

char[] chrs = { 1 a',    '6', 1 Π²' };

idx = str.IndexOfAny(chrs);

Console.WriteLine("ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символов " +

" 'Π°1,    'Π±'    ΠΈΠ»ΠΈ    'Π²': " + idx);

if(str.StartsWith("C# ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚", StringComparison.Ordinal))

Console.WriteLine("Π‘Ρ‚Ρ€ΠΎΠΊΠ° str начинаСтся с подстроки \"C# ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚\"");

if(str.EndsWith("строк.", StringComparison.Ordinal))

Console.WriteLine("Π‘Ρ‚Ρ€ΠΎΠΊΠ° str оканчиваСтся подстрокой \"строк.\"") ;

}

}

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠ° str: C# ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ эффСктивными срСдствами ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ строк.

ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символа ' ΠΎ' : 3 ИндСкс послСднСго вхоТдСния символа 'ΠΎ': 49 ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния подстроки "ΠΌΠΈ": 22 ИндСкс послСднСго вхоТдСния подстроки "ΠΌΠΈ": 33 ИндСкс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ вхоТдСния символов 1 Π°',    'Π±' ΠΈΠ»ΠΈ 'Π²': 4

Π‘Ρ‚Ρ€ΠΎΠΊΠ° str начинаСтся с подстроки "C# ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚"

Π‘Ρ‚Ρ€ΠΎΠΊΠ° str оканчиваСтся подстрокой "строк."

Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… случаях ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ для поиска Π² строкС оказываСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Contains(). Π•Π³ΠΎ общая Ρ„ΠΎΡ€ΠΌΠ° выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

public bool Contains(string value)

ΠœΠ΅Ρ‚ΠΎΠ΄ Contains () Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ссли Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°Ρ строка содСрТит подстроку, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡƒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ value, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС β€” логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ false. Поиск ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ подстроки осущСствляСтся порядковым способом. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ особСнно ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ссли трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ, находится Π»ΠΈ конкрСтная подстрока Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ строкС. Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дСмонстрируСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Contains ().

// ΠŸΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Contains().

class ContainsDemo { static void Main() {

string str = "C# сочСтаСт ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.";

if(str.Contains("ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ"))

Console.WriteLine("ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° подстрока \"ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ\".");

if(str.Contains("эффС"))

Console.WriteLine("ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° подстрока \"эффС\".");

if(!str.Contains("эффСктивный"))

Console.WriteLine("ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° \"эффСктивный\" Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°.");

}

}

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ.

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° подстрока "ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ".

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° подстрока "эффС".

ΠŸΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠ° "эффСктивный" Π½Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π°.

Как слСдуСт ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΌΠ΅Ρ‚ΠΎΠ΄ Contains () осущСствляСт поиск Π½Π° совпадСниС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†Π΅Π»Ρ‹Ρ… слов. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС обнаруТиваСтся ΠΈ подстрока "ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ", ΠΈ подстрока "эффС". Но ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ строкС отсутствуСт подстрока "эффСктивный", Ρ‚ΠΎ ΠΎΠ½Π° ΠΈ Π½Π΅ обнаруТиваСтся.

Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска Π² строкС ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ поиск ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ индСксу ΠΈΠ»ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ для поиска Π² строкС. Π’ Ρ‚Π°Π±Π». 22.3 свСдСны всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² поиска Π² строкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² классС String.