Direct addition? Well, you can quite easily iterate over all bytes:
public static byte ComputeAdditionChecksum(byte[] data)
{
byte sum = 0;
unchecked
{
foreach (byte b in data)
{
sum += b;
}
}
return sum;
}
Alternatively using LINQ:
public static byte ComputeAdditionChecksum(byte[] data)
{
long longSum = data.Sum(x => (long) x);
return unchecked ((byte) longSum);
}
long, - , 2 55 :) , , int long.