|
2
|
| Peter Ruderman · 技术社区 · 7 年前 |
|
1
3
解决这个问题的一种方法是为
然后我们可以传递位置信息,对序列中的第一个和/或最后一个项进行特殊处理。例如:
|
|
|
2
1
|
|
|
3
1
如果出于某种原因,必须将参数公开为
如果您遇到了一个非常罕见的情况,您必须接受一个定义为
此方法将迭代泛型列表并调用
此方法处理任何类型,并允许您为第一个、中间个和最后一个元素传递委托。你没有说如果没有足够的元素(你需要三个或更多)如何处理这个案子。在本例中,如果集合没有足够的元素以这种方式处理,则不会处理任何元素,并且方法将返回
在我的工作示例中,您可以看到它与几个测试用例一起运行 DotNetFiddle
另一方面,如果您让调用者分别将元素传递给您,则可以避免整个混乱,因为它可能知道哪个是哪个。
|
|
4
0
使用LINQ扩展不容易分别处理第一个和最后一个。为此,您将需要枚举器。还有更多的linq扩展,比如
|
|
5
0
你写道:
您不可能知道这一点,因为您没有指定Foo始终是序列中的对象
你可以把Foo的意思改成:
,在这种情况下
如果你认为这是很正常的
用法:
哪里:
|
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
|
Pavel Foltyn · 如何在C中生成逆字典# 1 年前 |
|
ewok · 基于种子和上一个值创建值列表 1 年前 |
|
|
Vasu V · 将foreach转换为select语句 1 年前 |
|
Modest · 使用命名空间和文本值序列化xElement 1 年前 |