Есть ли удобный способ получить часть строки из одного индекса в другой в С#?

Есть ли способ получить часть строки между двумя индексами в С#? Например, учитывая эту строку,

Hello, world!

Есть ли удобный способ передать "7" и "11" (индексы "w" и "d") и получить "мир"?

Обратите внимание, что я знаю о методе String.Substring() и знаю, что могу сделать следующее:

string s = "Hello, world!";
s.Substring(7, 11 - 7 + 1); // => "world"

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

public static class Extensions {
    public static string SubstringByIndexes(this string str, int start, int end) {
        return str.Substring(start, end - start + 1);
    }
}

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

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
0
279
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать диапазоны, они были добавлены в C# 8. Обратите внимание, что последний индекс равен 12, а не 11, чтобы получить «мир».

string s = "Hello, world!";
string world = s[7..12];

Другие вопросы по теме