gpt4 book ai didi

c# - IndexOf 与 Linq,接受 lambda 表达式

转载 作者:太空狗 更新时间:2023-10-29 18:02:37 26 4
gpt4 key购买 nike

有没有一种方法可以使用 Linq 从部分前缀列表中找到索引,例如:

List<string> PartialValues = getContentsOfPartialList();
string wholeValue = "-moz-linear-gradient(top, #1e5799 0%, #7db9e8 100%)";
int indexOfPartial = PartialValues
.IndexOf(partialPrefix=>wholeValue.StartsWith(partialPrefix));

不幸的是,IndexOf() 不接受 lambda 表达式。是否有类似的 Linq 方法?

最佳答案

您根本不需要 LINQ,List<T>有一个方法 FindIndex .

int indexOfPartial = PartialValues
.FindIndex(partialPrefix => wholeValue.StartsWith(partialPrefix));

为了完整起见,可以使用LINQ,但不是必须的:

int indexOfPartial = PartialValues
.Select((partialPrefix , index) => (partialPrefix , index))
.Where(x => wholeValue.StartsWith(x.partialPrefix))
.Select(x => x.index)
.DefaultIfEmpty(-1)
.First();

关于c# - IndexOf 与 Linq,接受 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19792375/

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