Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 其中(i=>;i%2==0)_C# - Fatal编程技术网

C# 其中(i=>;i%2==0)

C# 其中(i=>;i%2==0),c#,C#,我目前正在VisualStudio2012的C#上学习PLINQ(并行语言集成查询) 在一节课中(i=>i%2==0)是给我的,但我不知道这是什么意思,我正在学习的那本书也没有给出任何解释 有人知道这意味着什么吗?查询只选择偶数,其中除2没有余数 %运算符在除以第一个运算符后计算余数 第二个操作数。所有数字类型都有预定义的余数 接线员 其中(i=>i%2==0) 这意味着i转到i%2==0的位置,即如果 你是为一个整数列表而做的,它将返回列表中的所有偶数。lambda表达式在第一位有点奇怪,但是

我目前正在VisualStudio2012的C#上学习PLINQ(并行语言集成查询)

在一节课
中(i=>i%2==0)
是给我的,但我不知道这是什么意思,我正在学习的那本书也没有给出任何解释


有人知道这意味着什么吗?

查询只选择偶数,其中除2没有余数

%
运算符在除以第一个运算符后计算余数 第二个操作数。所有数字类型都有预定义的余数 接线员

其中(i=>i%2==0)
这意味着
i
转到
i%2==0的位置,即如果

你是为一个整数列表而做的,它将返回列表中的所有偶数。lambda表达式在第一位有点奇怪,但是当你在VS(及其智能感知)中进行一点实验时,你很快就会习惯它。输入“i=>”后,就可以声明对象类型的范围变量,该变量实现
IEnumerable()
接口。在本例中,我是列表(或其他IEnumerable>>列表、字典…)的一个元素。要调查本例,请搜索偶数

假设情况是这样的:

List<int> source = new List<int>() { 1, 2, 3, 4 };
var evenNumbers = source.Where(i => i % 2 == 0);
List source=newlist(){1,2,3,4};
var evenNumbers=source.Where(i=>i%2==0);
其中
过滤
并只返回偶数

其中
是一种Linq扩展方法,可用于实现
IEnumerable
接口的任何对象(如
List

i=>i%2==0
是一个lambda表达式。在这种情况下,这意味着对于
source
中的每个项目
i
,其中
将应用表达式
i%2==0

其中
选择lambda表达式为真的
中的项目。在这种情况下,当
i
为偶数时,表达式为真


这是因为模运算符
%
,它返回两个数
a
b
之间整数除法的剩余部分:
a%b
。如果
a=4
b=3
,则
a%b
值为1,因为它是4除以3时剩下的值。如果
%
返回
0
,则表示
a
除以
b
。如果
b
2
,则表示
a
是偶数。

首先希望您知道
%
,即“百分比运算符在第一个操作数除以第二个操作数后计算余数”。阅读更多关于

如果你有一个数字列表

var list = new List<Int32>() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

var result = list.Where(i => i%2 == 0);
var list=newlist(){1,2,3,4,5,6,7,8,9,10};
var result=list.Where(i=>i%2==0);
所以结果是2,4,6,8和10

同样的事情也可以写成

  var ans = new List<Int32>();

    foreach (var an in list)
    {
        if (an%2 == 0)
            ans.Add(an);
    }
var ans=new List();
foreach(列表中的变量)
{
如果(an%2==0)
ans.Add(an);
}
您不了解其中的哪一部分?
Where
方法?lambda表达式语法?
i%2==0
部分?