Я пытаюсь извлечь номер из последней части строки, я написал функцию для этого, но у меня проблемы с индексом вне диапазона.Подстрока вне диапазона
Вот это строка
type="value" cat=".1.3.6.1.4.1.26928.1.1.1.2.1.2.1.1" descCat=".1.3.6.1.4.1.26928.1.1.1.2.1.2.1.3"
и вот моя функция
private static string ExtractDescOID(string property)
{
string result = "";
int startPos = property.LastIndexOf("descOid=\"") + "descOid=\"".Length;
int endPos = property.Length - 1;
if (endPos - startPos != 1)
{
//This now gets rid of the first . within the string.
startPos++;
result = property.Substring(startPos, endPos);
}
else
{
result = "";
}
if (startPos == endPos)
{
Console.WriteLine("Something has gone wrong");
}
return result;
}
Я хочу, чтобы иметь возможность получить 1.3.6.1.4.1.26928.1.1.1.2.1.2.1.3
эту часть строки. Я прошел через код, длина строки равна 99, но когда AND MY startPos становится 64, а endPos становится 98, который фактически находится в пределах диапазона.
'подстрока()' принимает индекс начала и длину, и 64 + 98> 99 –
Вы пытаетесь получить индекс стартового 'descOid =', но это не является частью вашей строки. Или я слепой? – BendEg