Можно ли быстро отобразить диапазон элементов String elemenths, как в Python, с помощью: "Спасибо!
Например
Python
s="abazvbn"
print(s[2:5]) //It will display string elemenths from 2 to 5 ('azvb')
С# Возможно ли это сделать на С# без использования цикла. Поскольку в настоящее время это можно сделать так
String s="abazvbn"
for(int i=2;i<5;i++)
COnsole.WriteLine(s[i])
Аналогично, у вас есть метод String.Substring()
. Параметры немного разные. Вы передаете начальный индекс и длину возвращаемой подстроки.
Или вы можете создать метод расширения Slice()
. Поместите его в статический класс.
public static class StringExtensions
{
public static string Slice(this string s, int startIndex, int endIndex)
{
int length = endIndex - startIndex + 1; // Calculate length
return s.Substring(startIndex, length); // Return Substring of length
}
}
Тогда вы можете использовать его вот так...
string mystring = "abazvbn";
string myslice = mystring.Splice(2, 5);//myslice is azvb
String.Substring()
является довольно обидчивым методом - если вы превысите длину строки, вы получите вознаграждениеArgumentOutOfRangeException
. Python намного более прощающий.