Подскажите, пожалуйста, как правильнее перевести программу с Паскаля на С# - C#
Формулировка задачи:
Подскажите, пожалуйста, как перевести программу из Pascal в C#
Листинг программы
- procedure AnalizeIdentifier(StrTmp : string);
- const
- //Множество цифр.
- Digits = ['0'..'9'];
- //Множество разрешённых символов - те которые могут участвовать в записи идентификатора.
- ResolvChars = ['_','a'..'z', 'A'..'Z'] + Digits;
- var
- i : Integer;
- IsIdentifier : boolean; //Флаг, показывающий является ли анализируемая строка идентификатором
- begin
- //Запускаем цикл последовательной обработки символов строки.
- IsIdentifier := True;
- for i := 1 to Length(StrTmp) do begin
- if
- //Текущий символ не принадлежит множеству разрешённых для индентификаторов символов.
- not ( StrTmp[i] in ResolvChars )
- //Либо текущий символ является первым символом строки и является цифрой.
- or ( (i = 1) and (StrTmp[i] in Digits) )
- then
- begin
- //Тогда данная строка не является идентификатором Pascal.
- IsIdentifier := False;
- //Выходим из цикла.
- Break;
- end
- else
- begin
- //Тогда данная строка не является идентификатором Pascal.
- IsIdentifier := False;
- //Выходим из цикла.
- Break;
- end;
- end;
- end;
Решение задачи: «Подскажите, пожалуйста, как правильнее перевести программу с Паскаля на С#»
textual
Листинг программы
- using System;
- using System.Text.RegularExpressions;
- class Program
- {
- public static void Main()
- {
- Regex regex = new Regex(@"\A[_a-z][_a-z0-9]*\z", RegexOptions.IgnoreCase);
- foreach (string s in new string[] { "abc_123", "_xyz456", "0_0", "Ы" })
- {
- Console.Write(s);
- Console.WriteLine(regex.IsMatch(s) ? " - корректный" : " - некорректный");
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д