识别C++,C#,Java语言注释的位置 C#版

发布于:2023-01-04 ⋅ 阅读:(300) ⋅ 点赞:(0)

        /// <summary>
        /// 记录注释的位置和长度
        /// </summary>
        /// <param name="sText"></param>
        /// <returns></returns>
        /// 创建时间: 2022-08-26      最后一次修改时间:2022-08-26
        public static DList_<Pair_<int,int>> _Syntax_C_ExplanatoryNote_Pos(this string sText)
        {
            DList_<Pair_<int, int>> dResult = new DList_<Pair_<int, int>>();

            for (int i = 0; i < sText.Length; ++i)
            {
                if (sText[i] == '/')
                {
                    if (i + 1 < sText.Length)
                    {
                        if (sText[i + 1] == '/')
                        {
                            int nStart = i;

                            i = sText.IndexOf('\n', i + 1);

                            if (i == -1)
                            {
                                dResult.Add(new Pair_<int, int>(nStart, sText.Length - i));
                                break;
                            }
                            else
                            {
                                dResult.Add(new Pair_<int, int>(nStart, i - nStart));
                            }
                        }
                        else if (sText[i + 1] == '*')
                        {
                            int nStart = i;
                            i = sText.IndexOf("*/", i + 1);
                            if (i == -1)
                            {
                                dResult.Add(new Pair_<int, int>(nStart, sText.Length - i));
                                break;
                            }
                            else
                            {
                                dResult.Add(new Pair_<int, int>(nStart, i - nStart + 2));
                            }
                        }
                    }
                }
            }

            return dResult;
        }

其中,DList_,Pair_,你可以换成  List,Pair。

下面是 Visual studio C# 中的 RichTextBox 中着色


网站公告

今日签到

点亮在社区的每一天
去签到