Кажется, что эта идея была реализована на языке дартов:
https://hackernoon.com/why-flutter-uses-dart-dd635a054ebf
Компиляция JIT используется во время разработки, используя особенно быстрый компилятор. Затем, когда приложение готово к выпуску, оно скомпилировано AOT. Следовательно, с помощью передовых инструментов и компиляторов Dart может обеспечить лучшее из обоих миров: чрезвычайно быстрые циклы разработки и быстрое выполнение и время запуска.
blockquote>
Не используйте выражение запроса. Используйте перегрузка Select
, который передает Вас индекс :
var list = FileList.Select((file, index) => new { Index=index, Filename=file });
string[] values = { "a", "b", "c" };
int i = 0;
var t = (from v in values
select new { Index = i++, Value = v}).ToList();