Мы хотим получить код crc из строки.например: строка - это (ff03c1), а код crc - (3d).
Нижеследующий код работает правильно до тех пор, пока длина строки не станет меньше 186 символов.пример строки:
20000F38080000D1080020110800190D0000000000000000000000000000000020000F38080000D1080020110800190D000000000000000000000000000000020000F38080000D1080020110800190D000000000000000000000000000
Но эта строка не работает (187 символов):
20000F38080000D1080020110800190D0000000000000000000000000000000020000F38080000D1080020110800190D000000000000000000000000000000020000F38080000D1080020110800190D000000000000000000000000000**0**
ошибка: индекс и длина должны указывать на местоположение в строке.Имя параметра: длина
public static string CreateCRCCode(string Value)
{
return Enumerable.Range(0, Value.Length)
.Where(x => x % 2 == 0)
.Select(x => Convert.ToInt32(Value.Substring(x, 2), 16))
.Aggregate((i, i1) => i ^ i1)
.ToString("X");
}
как использовать строку длиной более 186 символов?