本文整理汇总了C#中System.Byte.Aggregate方法的典型用法代码示例。如果您正苦于以下问题:C# Byte.Aggregate方法的具体用法?C# Byte.Aggregate怎么用?C# Byte.Aggregate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Byte
的用法示例。
在下文中一共展示了Byte.Aggregate方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetMac
/// <summary>
/// 获取请求机的mac地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public static string GetMac(this HttpRequestBase request)
{
string strmac = request.Headers.Get("mac");
if (strmac.NotNullAndEmpty()) return strmac;
if (strmac.IsNullOrEmpty())
{
var cookie = request.Cookies.Get("mac");
if (cookie != null)
strmac = cookie.Value;
}
if (strmac.NotNullAndEmpty()) return strmac;
if (strmac.IsNull()) strmac = "";
// IPAddress.Parse(request.UserHostAddress).Address
Int32 ldest = inet_addr(request.UserHostAddress);//目的地的ip
Int32 lhost = 0;//本地的ip
try
{
var macinfo = new Byte[6];
uint length = 6;
int ii = SendARP(ldest, lhost, macinfo, ref length);
return macinfo.Aggregate(strmac, (current, item) => current + item.ToString("X2"));
}
catch (Exception err)
{
return "";
}
}
示例2: Compute
/// <summary>
/// Calculates CRC32 value for passsed byte array <paramref name="buffer"/> using
/// initial value of <paramref name="crc"/> parameter as base for CRC calculation.
/// </summary>
public static UInt32 Compute(Byte[] buffer, UInt32 crc = 0)
{
return buffer.Aggregate(crc,
(index, item) => _crcTable[((index >> 24) ^ item) & 0xFF] ^ (index << 8));
}