Конечно! Вот эквивалентный код на C#:
csharpusing System; public class Program { public static bool CheckPFNumber(string value) { if (value.Length != 11) { return false; } foreach (char c in value) { if (c < '0' || c > '9') { return false; } } int summa = 0; for (int i = 0; i < 9; i++) { summa += (value[i] - '0') * (10 - (i + 1)); // вычисляем контрольную сумму } int controlSum = int.Parse(value.Substring(9, 2)); return controlSum == (summa % 101); // проверяем остаток от деления контрольной суммы на 101 с двумя последними числами } public static void Main() { string testValue = "12345678901"; bool result = CheckPFNumber(testValue); Console.WriteLine(result); // Вывод результата проверки } }
Этот код выполняет ту же задачу, что и ваш исходный код на VB: проверяет, является ли строка корректным номером ПФ (Пенсионного Фонда) на основе контрольной суммы.