字节数组有 Guid.TryParse 吗?

Is there a Guid.TryParse for byte array?

Guid.TryParse to check whether a string contains a valid GUID.

还有the Guid constructor that takes a byte array (byte[]).

我缺少的是一个采用字节数组的 TryParse 方法。

目前我正在做这样的事情来检查字节数组是否是有效的 GUID:

// ...
try
{
    new Guid(bytes);
    return true;
}
catch (ArgumentException)
{
    return false;
}
// ...

当然这在性能和编码风格上很糟糕,因为我使用异常来控制程序流。

我的问题:

是否有合理快速、无异常的方法来检查字节数组是否包含 GUID?

不,没有。其实写一个很简单,只需要保证

  1. 字节数组不为空
  2. 字节数组的长度是16