我必须查看IEnumerable中的第一个元素是否等于某个值,如果是,则必须将其更新为新列表
我正在尝试使用类似的东西
if (sequence.First().Equals(value))
{
return newValues.Prepend(sequence.Skip(1));
}
因为我必须是最通用的,但是当我尝试测试此调用时,它只会返回null
答案 0 :(得分:1)
您无法修改IEnumerable
。但是您可以使用这种方法:
// your sample:
IEnumerable<int> sequence = new[] {2, 5, 1};
int value = 2;
IEnumerable<int> newValues = new[] {1, 2, 3};
if (sequence.First() == value)
return newValues.Concat(sequence.Skip(1)).ToList()
else
return sequence.ToList();