Что делает Select ?
Каждый элемент проходит через делегат
Func<TSource, TResult> и возвращается измененный элемент.
Описание
Метод расширения
Select для интерфейса
IEnumerable<T> предоставляет класс
Enumerable ...
C#
public static class Enumerable
{
...
public static IEnumerable<TResult> Select<TSource>(this IEnumerable<TSource> source, Func<TSource, TResult> selector);
...
}
C#
using System;
using System.Linq;
using System.Collections.Generic;
namespace ConsoleApplication1
{
class Program
{
public static string MySelector(string value)
{
return value.ToUpper();
}
static void Main(string[] args)
{
// массив
string[] arrNames = new string[] { "Hello", "Good morning", "Bye" };
// делегат Func
Func<string, string> selector = MySelector;
// преобразуем слова
IEnumerable<string> convertedNames = Enumerable.Select(arrNames, selector);
// показываем результат на экране
foreach (string str in convertedNames)
Console.WriteLine(str);
// на экране увидим
// "HELLO"
// "GOOD MORNING"
// "BYE"
}
}
}
C#
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
// значения
int[] values = { 5, 50, 10, 3 };
// int[] values это тоже самое что и IEnumerable<int> values
// Вариант 1. Выбираем значения больше 7
IEnumerable<int> result = values.Where(a => a > 7);
// Вариант 2. Выбираем значения больше 7
// IEnumerable<int> result = Enumerable.Where(values, a => a > 7);
// показываем результат на экране
foreach(int val in result)
Console.WriteLine(val);
}
}
}