using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace LINQ_to_Random
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Query<double> zrodloDouble = new Query<double>(new GeneratorLiczbLosowych<double>(10));
            //var zapytanieDouble = from liczba in zrodloDouble select liczba;
            var zapytanieDouble = from liczba in zrodloDouble where liczba > 0.5 & liczba < 2.0 orderby liczba select liczba;            

            string s = "Liczby losowe typu double z zakresu od 0 do 1:\n";
            foreach (var liczba in zapytanieDouble) s += liczba.ToString() + "\n";
            MessageBox.Show(s);

            //--------------------------------

            Query<int> zrodloInt = new Query<int>(new GeneratorLiczbLosowych<int>(10));
            var zapytanieInt = from liczba in zrodloInt where liczba > int.MaxValue/2 orderby liczba select liczba;

            s = "Liczby losowe typu int z zakresu od 0 do "+int.MaxValue.ToString()+":\n";
            foreach (var liczba in zapytanieInt) s += liczba.ToString() + "\n";
            MessageBox.Show(s);
        }
    }
}
