Это становится возможным с новой функцией диапазона C # 8.0 .
Метод расширения на string
, который использует Range
для достижения этой цели:
public static class StringExtensions
{
public static string SubstringByIndexes(this string value, int startIndex, int endIndex)
{
var r = Range.Create(startIndex, endIndex + 1);
return value[r];
/*
// The content of this method can be simplified down to:
return value[startIndex..endIndex + 1];
// by using a 'Range Expression' instead of constructing the Range 'long hand'
*/
}
}
Примечание: 1 добавляется к endIndex
при построении диапазона, который используется в качестве конца диапазона, является эксклюзивным, а не включающим.
, который можно назвать так:
var someText = "ABCDEFG";
var substring = someText.SubstringByIndexes(1, 3);
Задание значения BCD в substring
.