Я использую проект LinqToExcel, разработанный MIT и размещенный в Google Code на http://code.google.com/p/linqtoexcel/wiki/UsingLinqToExcel, для анализа моего набора данных из таблицы Excel, которая выглядит примерно так:
Частьнабор данных
Я пытаюсь случайным образом выбрать 30 строк Excel из области и длины, содержащей мой набор данных, используя технику случайных чисел Linq OrderBy
, показанную здесь:
public class Obj
{
public double Area { get; set; }
public double Length { get; set; }
}
namespace LinqToExcel.Screencast
{
class Program
{
static void Main()
{
var excel = new ExcelQueryFactory();
excel.FileName = @"C:\\radno\\jame.xls";
Random rnd = new Random();
var listExcel = from x in excel.Worksheet<Obj>()
select x;
var orderedList = listExcel.OrderBy(r => rnd.Next());
foreach (var u in orderedList.Take(30))
{
Console.WriteLine($"the area is {u.Area} while length is {u.Length}");
}
}
}
}
Но этоне работает, потому что я всегда получаю одинаковые первые 30 пар.Я что-то здесь не так делаю?Должно ли это сработать, и это ошибка LinqToExcel?
Я испробовал трюк list.OrderBy(x => Guid.NewGuid())
, но получаю те же результаты.