Чтобы было ясно, OrderBy
не будет сортировать массив на месте - он вернет новую последовательность, которая является отсортированной копией массива. Если это нормально, тогда вы хотите что-то вроде:
var sorted = array.OrderBy(item => item.Fields["FieldName"].Value);
С другой стороны, я не понимаю вашего комментария о том, что свойство возвращается в виде строки, но вы можете привести его к типу int - вы не можете привести строки к целым, вы должны их проанализировать. Если это то, что вы имели в виду, вы, вероятно, хотите:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value));
Если вы хотите это как массив, вы можете вызвать ToArray()
впоследствии:
var sorted = array.OrderBy(item => int.Parse(item.Fields["FieldName"].Value))
.ToArray();
В качестве альтернативы вы можете использовать Array.Sort
, если вы хотите отсортировать на месте, но это будет несколько сложнее.