">
赞
踩
C#中,=>
符号是"lambda运算符",用于定义lambda表达式。
Lambda表达式是一种简洁的匿名函数表示方式,它可以包含表达式和语句,并且可以用于创建委托或表达式树类型。
// 使用lambda表达式找到偶数
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// evenNumbers现在包含2, 4, 6, 8, 10
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
其中,n => n % 2 == 0
就是一个lambda表达式。n
是输入参数(在这个例子中是列表中的每个元素),n % 2 == 0
是函数体,它检查数字是否是偶数。
我们也可以使用lambda表达式来定义更复杂的函数,例如:
Func<int, int, int> add = (a, b) => a + b;
// sum = 7
int sum = add(3, 4);
(a, b) => a + b
是一个lambda表达式,返回两个输入参数a
和b
的和。总的来说,=>
符号在C#中用于定义简洁且强大的函数,它们可以用于各种场景,包括处理集合、定义简单的函数或者作为其他函数的参数。
在C#中,lambda表达式主要就是使用=>
来运算符完成的。常见使用场景如下:
使用lambda表达式过滤集合中的元素。例如,查找一个整数列表中的所有偶数:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
List<int> evenNumbers = numbers.Where(n => n % 2 == 0).ToList();
使用lambda表达式来转换集合中的元素。例如,将一个整数列表中的所有元素都乘以2:
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
List<int> doubled = numbers.Select(n => n * 2).ToList();
使用lambda表达式来对集合进行排序。例如,按照长度对一个字符串列表进行排序:
List<string> words = new List<string> { "apple", "banana", "cherry" };
List<string> sorted = words.OrderBy(w => w.Length).ToList();
使用lambda表达式来定义委托或事件处理程序。例如,定义一个委托来计算两个整数的和:
Func<int, int, int> add = (a, b) => a + b;
int sum = add(3, 4); // sum现在是7
使用lambda表达式来定义异步任务。例如,定义一个异步任务来模拟一个耗时的操作:
Task.Run(() => {
// 模拟一个耗时的操作
Thread.Sleep(1000);
Console.WriteLine("Operation completed");
});
以下是一些常见的C#运算符及其用途:
用于将值赋给变量。
int a = 5;
用于执行基本的数学运算。
int sum = 3 + 2; // sum = 5
int difference = 3 - 2; // difference = 1
int product = 3 * 2; // product = 6
int quotient = 3 / 2; // quotient = 1
int remainder = 3 % 2; // remainder = 1
用于比较两个值。
bool isEqual = (3 == 2); // isEqual = false
bool isNotEqual = (3 != 2); // isNotEqual = true
bool isLessThan = (3 < 2); // isLessThan = false
bool isGreaterThan = (3 > 2); // isGreaterThan= = true
bool isLessThanOrEqual = (3 <= 2); // isLessThanOrEqual = false
bool isGreaterThanOrEqual = (3 >= 2); // isGreaterThanOrEqual = true
用于执行逻辑运算。
bool bothAreTrue = (true && true); // bothAreTrue = true
bool eitherIsTrue = (true || false); // eitherIsTrue = true
bool isNotTrue = !true; // isNotTrue = false
用于执行条件运算。
int a = 5;
int b = 3;
int max = (a > b) ? a : b; // max = 5
用于在引用或类型为null的情况下避免抛出异常。
string name = null;
int? length = name?.Length; // length = null,而不是抛出异常
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。