Write yourself a reusable extension method that can pad a sequence:
static IEnumerable<T> AppendPadding(this IEnumerable<T> items, int totalCount, T paddingItem) {
int count = 0;
foreach (var item in items) {
yield return item;
count++;
}
for (int i = count; i < totalCount; i++)
yield return paddingItem;
}
And use it like this:
int[] bytesAsInts = yourBytes.Select(x => (int)x).AppendPadding(14, 0).ToArray();
This works on any kind of sequence with a single linear pass over the sequence. It is also lazy. Abstracting away the problem of padding a sequence allows you remove the complexity of doing the padding from the main algorithm. It is now hidden in some other place nobody has to care about. Factoring out unimportant details leads to clean code because all the complexity is hidden behind a well-defined interface.