如何检查byte []是否只包含零?

时间:2013-09-17 04:02:18

标签: c# .net sockets tcp

如何检查byte []是否只包含0?如果它只包含零,我不想通过网络发送数组:

byte[] bytesToBeSend = e.GetAudioSamples;

// Send test data to the remote device.
Send(client, bytesToBeSend);

2 个答案:

答案 0 :(得分:11)

Send请求之前插入此测试并使用if测试:

bool hasAllZeroes = bytesToBeSend.All(singleByte => singleByte == 0);

if (hasAllZeroes) {
    Send(client, bytesToBeSend);
}

确保您已包含LINQ:

using System.Linq;

答案 1 :(得分:8)

一个选项是检查每个字节等于零,但我们可以检查是否存在非零字节。然后如果真的我们可以发送。这会很快。

if(bytesToBeSend.Any(b => b!=0))
  Send(client, bytesToBeSend);