当前位置: 首页>>代码示例>>C#>>正文


C# BitArray.Take方法代码示例

本文整理汇总了C#中System.Collections.BitArray.Take方法的典型用法代码示例。如果您正苦于以下问题:C# BitArray.Take方法的具体用法?C# BitArray.Take怎么用?C# BitArray.Take使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Collections.BitArray的用法示例。


在下文中一共展示了BitArray.Take方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Regex

		private static readonly Regex _asciiPattern = new Regex("^[\x20-\x7F]{32}$", RegexOptions.Compiled); // Pattern for string in ASCII code (alphanumeric symbols)

		private void ParseCID(string cid)
		{
			if (String.IsNullOrWhiteSpace(cid) || !_asciiPattern.IsMatch(cid))
				return;

			var bytes = SoapHexBinary.Parse(cid).Value;

			ManufacturerID = bytes[0]; // Bytes 0
			OemApplicationID = Encoding.ASCII.GetString(bytes.Skip(1).Take(2).ToArray()); // Bytes 1-2
			ProductName = Encoding.ASCII.GetString(bytes.Skip(3).Take(5).ToArray()); // Bytes 3-7

			var productRevisionBits = new BitArray(new[] { bytes[8] }).Cast<bool>().Reverse().ToArray(); // Bytes 8
			var major = ConvertFromBitsToInt(productRevisionBits.Take(4).Reverse());
			var minor = ConvertFromBitsToInt(productRevisionBits.Skip(4).Take(4).Reverse());
			ProductRevision = String.Format("{0}.{1}", major, minor);

			ProductSerialNumber = BitConverter.ToUInt32(bytes, 9); // Bytes 9-12

			var manufacturingDateBits = bytes.Skip(13).Take(2) // Bytes 13-14
				.SelectMany(x => new BitArray(new[] { x }).Cast<bool>().Reverse())
				.Skip(4) // Skip reserved field.
				.ToArray();

			var year = ConvertFromBitsToInt(manufacturingDateBits.Take(8).Reverse());
			var month = ConvertFromBitsToInt(manufacturingDateBits.Skip(8).Take(4).Reverse());
			if ((year <= 1000) && (month <= 12))
			{
				ManufacturingDate = new DateTime(year + 2000, month, 1);
			}
		}
开发者ID:hoangduit,项目名称:SnowyImageCopy,代码行数:32,代码来源:ConfigViewModel.cs


注:本文中的System.Collections.BitArray.Take方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。