相关疑难解决方法(0)

如何使用LINQ获取序列中的最后一个元素?

假设我有一个序列.

IEnumerable<int> sequence = GetSequenceFromExpensiveSource();
// sequence now contains: 0,1,2,3,...,999999,1000000
Run Code Online (Sandbox Code Playgroud)

获取序列并不便宜并且是动态生成的,我想只迭代一次.

我想得到0 - 999999(即除了最后一个元素之外的所有东西)

我知道我可以这样做:

sequence.Take(sequence.Count() - 1);
Run Code Online (Sandbox Code Playgroud)

但是这导致了两个大序列的枚举.

是否有LINQ结构可以让我这样做:

sequence.TakeAllButTheLastElement();
Run Code Online (Sandbox Code Playgroud)

.net c# linq

120
推荐指数
7
解决办法
4万
查看次数

如何获取除C#中最后一个元素之外的所有数组元素

我有一个像这样的字符串数组.

string[] queries 数据多个字符串.

我想跳过元素中的最后一个字符串并取剩余的字符串.我想出来了

var remStrings = queries.Reverse().Skip(1).Take(queries.Length - 1);
Run Code Online (Sandbox Code Playgroud)

有更好的替代方案吗?

c# arrays

47
推荐指数
4
解决办法
4万
查看次数

不要在linq C#中取得最新记录

我们都知道,它Skip()可以忽略收集开始时不需要的记录。

但是Skip()在收集结束时是否有记录的方法?

您如何不获取集合中的最后一条记录?

还是您必须通过 Take()

即下面的代码,

var collection = MyCollection

var listCount = collection.Count();

var takeList = collection.Take(listCount - 1);
Run Code Online (Sandbox Code Playgroud)

这是排除集合中最后一条记录的唯一方法吗?

c# linq

4
推荐指数
1
解决办法
280
查看次数

标签 统计

c# ×3

linq ×2

.net ×1

arrays ×1