Не обращая внимания на другие проблемы, вы не можете преобразовать список / коллекцию в целое число
Вам нужно будет использовать FirstOrDefault
или аналогичный
Метод Enumerable.FirstOrDefault (IEnumerable)
Возвращает первый элемент последовательности или значение по умолчанию, если
последовательность не содержит элементов.
Пример
int dqty = (from row in result.AsEnumerable()
where row.Field<string>("batch_num") == k_batch.ToString()
select row.Field<int>("qty")).FirstOrDefault();
Обновление
Далее пример
var list = new List<int>() {23, 345, 546, 345};
var result = (
from row in list
where row > 23
select row).FirstOrDefault();
Console.WriteLine(result);
выход
345
Полная демонстрация здесь