|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace TestLinq
{
static class Program
{
public class MeoAddress
{
public int Nr { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
///
/// Test pour LINQ to Objects
/// Author Didier Meo
///
static void TestLinqToObjects()
{
int[] intArray = { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 };
// 1)
string strResult = "\n iQuery1: \n";
//
var iQuery1 = from intObject in intArray //from int intObject in intArray
where intObject >= 30
select intObject;
foreach (int intObject in iQuery1)
{
strResult += Convert.ToString(intObject) + " ; ";
}
// 2)
strResult += "\n-----------\n iQuery2: \n";
//
var iQuery2 = intArray.Where(intObject => intObject >= 30).Select(intObject => intObject);
foreach (int intObject in iQuery2)
{
strResult += intObject + " ; ";
}
// 3)
strResult += "\n-----------\n iQuery3: \n";
//
List<int> lstIntegers = new List<int>();
lstIntegers.AddRange(new int[] { 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 });
var iQuery3 = lstIntegers.Where(Integer => Integer >= 30).Select(Integer => Integer);
foreach (int Integer in iQuery3)
{
strResult += Integer + " ; ";
}
//-----------------------------------------------------------------
strResult += "\n-----------\n strQuery1: \n";
string[] strArray = { "00", "10", "20", "30", "40", "50", "60", "70", "80", "90" };
var strQuery1 = from strObject in strArray
where Convert.ToInt32(strObject) >= Convert.ToInt32("30")
select strObject;
foreach (string strObject in strQuery1)
{
strResult += strObject + " ; ";
}
//-----------------------------------------------------------------
strResult += "\n-----------\n objQuery1: \n";
ArrayList arlMeoAddresses = new ArrayList();
arlMeoAddresses.Add(new MeoAddress { Nr = 00, Name = "000 000", Email = "000@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 10, Name = "AAA aaa", Email ="aaa@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 20, Name = "BBB bbb", Email = "bbb@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 30, Name = "CCC ccc", Email = "ccc@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 40, Name = "Meo Didier", Email = "didiermeo@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 50, Name = "DDD ddd", Email = "ddd@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 60, Name = "EEE eee", Email = "eee@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 70, Name = "FFF fff", Email = "fff@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 80, Name = "GGG ggg", Email = "ggg@yahoo.fr" });
arlMeoAddresses.Add(new MeoAddress { Nr = 90, Name = "HHH hhh", Email = "hhh@yahoo.fr" });
var objQuery1 = from MeoAddress objMeoAddress in arlMeoAddresses
where objMeoAddress.Nr >= 30
//orderby objMeoAddress.Name
select objMeoAddress;
foreach (MeoAddress objMeoAddress in objQuery1)
{
strResult += objMeoAddress.Nr + " , " + objMeoAddress.Name + " , " + objMeoAddress.Email + " ; \n";
}
//-----------------------------------------------------------------
MessageBox.Show(strResult);
}
///
/// Point d'entr�e principal de l'application.
///
[STAThread]
static void Main()
{
TestLinq.Program.TestLinqToObjects();
}
}
}
|