一、Lambda 表达式(C# 引用)
using System;
using System.Linq;
namespace _03_Lambda表达式
{
class Program
{
static void Main(string[] args)
{
Func<int, int> square = x => x * x;
Console.WriteLine(square(5));
Action<string> getName = name =>
{
Console.WriteLine($"我的名字:{name}");
};
getName("刘毅鹏");
Action notParams = () => Console.WriteLine("我是无参的lambda");
notParams();
Func<double, double> oneParams = one => one + one;
Console.WriteLine(oneParams(1));
Func<int, string, bool> isTrue = (int x, string s) => s.Length > s.Length;
Console.WriteLine(isTrue(1, "1234"));
Func<(int, int, int), (int, int, int)> doubleTuple = dt => (2 * dt.Item1, 2 * dt.Item2, 2 * dt.Item3);
var numbers = (1, 2, 3);
var doubleNumbers = doubleTuple(numbers);
Console.WriteLine($"原始数据为{numbers},乘2后为{doubleNumbers}");
Func<int, bool> equalOne = x => x == 1;
bool result = equalOne(2);
Console.WriteLine(result);
int[] numbersArr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ,11};
int oddNumbers = numbersArr.Count(n => n % 2 == 1);
Console.WriteLine($"原始数组为:{string.Join(" ", numbersArr)},奇数个数为:{oddNumbers}");
var firstNumbersLessThanSix = numbersArr.TakeWhile(n => n < 6);
Console.WriteLine(string.Join(" ", firstNumbersLessThanSix));
}
}
}