gpt4 book ai didi

c# - Predicate匹配题

转载 作者:太空狗 更新时间:2023-10-30 00:09:11 25 4
gpt4 key购买 nike

我不明白下面的代码是如何工作的。具体来说,我不明白“return i<3”的使用。如果它小于 3,我希望返回 i。我总是认为 return 只是返回值。我什至找不到它的语法。

第二个问题,在我看来,我喜欢使用匿名方法 (delegate(int i)),但可以使用指向其他方法的普通委托(delegate)来编写它吗?谢谢

List<int> listOfInts = new List<int> { 1, 2, 3, 4, 5 };
List<int> result =
listOfInts.FindAll(delegate(int i) { return i < 3; });

最佳答案

不,return i < 3if (i < 3) return; 不同.

相反,它等同于:

bool result = (i < 3);
return result;

换句话说,它返回i < 3的评估结果。 .所以如果 i 它将返回 true是 2,但如果 i 则为假例如是 10。

您绝对可以使用方法组转换来编写此代码:

List<int> listOfInts = new List<int> { 1, 2, 3, 4, 5 };
List<int> result = listOfInts.FindAll(TestLessThanThree);

...
static bool TestLessThanThree(int i)
{
return i < 3;
}

关于c# - Predicate<int>匹配题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com