Home
Browsez les 647 exemples
Téléchargez les 647 exemples
Téléchargez des chapitres
Achetez sur amazon.fr
Niveau: Débutant/Intermédiaire
ISBN-2-84177-339-6
50 Euros
|
Exemple 15-24 extrait du chapitre
Collections
Exemple 15-23< > Exemple 16-1
Cet exemple peut être compilé avec la ligne de commande: csc.exe /target:exe Exemple_15_24.cs Erreurs: 0 Avertissements: 0 Remarque:
Exemple_15_24.cs
using System;
using System.Collections.Generic;
class Program{
static public IEnumerable<T> Filter<T> (
Predicate<T> predicate, IEnumerable<T> collection) {
foreach (T item in collection)
if (predicate(item))
yield return item;
}
static public IEnumerable<T> Transform<T> (
Converter<T,T> transformer, IEnumerable<T> collection) {
foreach (T item in collection)
yield return transformer(item);
}
static public IEnumerable<U> Converter<T, U> (
Converter<T, U> converter, IEnumerable<T> collection) {
foreach (T item in collection)
yield return converter(item);
}
static public IEnumerable<int> PipelineIntRange(int begin, int end) {
System.Diagnostics.Debug.Assert( begin < end );
for ( int i = begin; i <= end; i++ )
yield return i;
}
static void Main(){
int modulo = 3;
int factor = 2;
foreach (string s in
Converter<int,string>( delegate(int item) {
return "Hello:" + item.ToString(); },
Filter( delegate(int item) {
return (item % modulo == 0); },
Transform( delegate(int item) {
return item * factor; },
PipelineIntRange(1, 10) ) ) ) )
Console.WriteLine(s);
}
}
Copyright Patrick Smacchia 2006 2007
|