Чтобы использовать метод ConvertAll, вы можете сделать следующее ...
Предполагая, что у вас есть список целых чисел, которые на самом деле являются байтовыми значениями, и вы на самом деле не хотите, чтобы байты требовали создания целого числа, т.е.
public static class Utility {
public static byte IntToByte(int i) {
if(i < 0)
return (byte)0;
else if(i > 255)
return (byte)255;
else
return System.Convert.ToByte(i);
}
}
... конвертировать ...
byte[] array = listOfInts.ConvertAll(
new Converter<byte, int>(Utility.IntToByte) ).ToArray();
или вы можете использовать анонимного делегата ...
byte[] array = listOfInts.ConvertAll( new Converter<byte, int>(
delegate(int i) {
if(i < 0)
return (byte)0;
else if(i > 255)
return (byte)255;
else
return System.Convert.ToByte(i);
})).ToArray();