我有一个字节数组,希望找到特定字节的第一次出现(如果有的话)。

你们可以用一种美观,优雅且有效的方式来帮助我吗?

 /// Summary
/// Finds the first occurance of a specific byte in a byte array.
/// If not found, returns -1.
public int GetFirstOccurance(byte byteToFind, byte[] byteArray)
{

}

最佳答案

public static int GetFirstOccurance(byte byteToFind, byte[] byteArray)
{
   return Array.IndexOf(byteArray,byteToFind);
}

如果找不到,它将返回-1

或如Sam所指出的,一种扩展方法:
public static int GetFirstOccurance(this byte[] byteArray, byte byteToFind)
{
   return Array.IndexOf(byteArray,byteToFind);
}

或使其通用:
public static int GetFirstOccurance<T>(this T[] array, T element)
{
   return Array.IndexOf(array,element);
}

然后,您可以说:
int firstIndex = byteArray.GetFirstOccurance(byteValue);

关于c# - 在Byte []数组中查找第一个特定字节C#,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/974888/

10-12 14:23