當前位置: 首頁>>代碼示例>>C#>>正文


C# CharSet.Add方法代碼示例

本文整理匯總了C#中CharSet.Add方法的典型用法代碼示例。如果您正苦於以下問題:C# CharSet.Add方法的具體用法?C# CharSet.Add怎麽用?C# CharSet.Add使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在CharSet的用法示例。


在下文中一共展示了CharSet.Add方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: CharClass

		/// <summary>
		/// 初始化 <see cref="Cyjb.Compilers.Lexers.CharClass"/> 類的新實例。
		/// </summary>
		public CharClass()
		{
			CharSet defaultSet = new CharSet();
			for (int i = 0; i <= char.MaxValue; i++)
			{
				defaultSet.Add((char)i);
			}
			charClassList = new List<CharSet>();
			charClassList.Add(defaultSet);
		}
開發者ID:qhhndaye888,項目名稱:Cyjb.Compilers,代碼行數:13,代碼來源:CharClass.cs

示例2: GetCharClassSet

		/// <summary>
		/// 獲取字符類中包含的所有字符。
		/// </summary>
		/// <param name="charClass">要獲取所有字符的字符類。</param>
		/// <returns>字符類中包含的所有字符。</returns>
		private static CharSet GetCharClassSet(string charClass)
		{
			CharSet set = new CharSet();
			if (RegexCharClass.IsSubtraction(charClass) || RegexCharClass.ContainsCategory(charClass))
			{
				for (int i = 0; i <= char.MaxValue; i++)
				{
					if (RegexCharClass.CharInClass((char)i, charClass))
					{
						set.Add((char)i);
					}
				}
			}
			else
			{
				// 如果不包含差集和 Unicode 字符分類的話,可以更快。
				string ranges = RegexCharClass.GetCharClassRanges(charClass);
				if (RegexCharClass.IsNegated(charClass))
				{
					int s = 0;
					for (int i = 0; i < ranges.Length; i++)
					{
						for (int j = s; j < ranges[i]; j++)
						{
							set.Add((char)j);
						}
						i++;
						s = i < ranges.Length ? ranges[i] : char.MaxValue + 1;
					}
					for (int j = s; j <= char.MaxValue; j++)
					{
						set.Add((char)j);
					}
				}
				else
				{
					for (int i = 0; i < ranges.Length; i++)
					{
						int j = ranges[i++];
						int end = i < ranges.Length ? ranges[i] : char.MaxValue + 1;
						for (; j < end; j++)
						{
							set.Add((char)j);
						}
					}
				}
			}
			return set;
		}
開發者ID:qhhndaye888,項目名稱:Cyjb.Compilers,代碼行數:54,代碼來源:CharClass.cs


注:本文中的CharSet.Add方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。