gpt4 book ai didi

c# - 无法将 foreach 更改为 LINQ 语法

转载 作者:行者123 更新时间:2023-11-30 13:35:30 24 4
gpt4 key购买 nike

我试图将以下循环更改为 LINQ 表达式但未成功:

int index = 0;
IList<IWebElement> divNota = new List<IWebElement>();

foreach (IWebElement element in tablaNotas)
{
divNota.Add(element.FindElement(By.Id("accion-1-celda-0-" + index + "-0")));
index++;
}

我试过用

IList <IWebElement> divNota = tablaNotas.Select(element => element.FindElement(By.Id("accion-1-celda-0-"+ tablaNotas.IndexOf(element) + "-0"))).ToList();

但是tablaNotas.IndexOf(element)总是返回-1,这意味着在tablaNotas中没有找到element >.

字符串 "accion-1-celda-0-"+ tablaNotas.IndexOf(element) + "-0" 旨在更改为

"accion-1-celda-0-"+ 1 + "-0"
"accion-1-celda-0-"+ 2 + "-0"
"accion-1-celda-0-"+ 3 + "-0"
...
"accion-1-celda-0-"+ n + "-0"

根据元素的索引

感谢任何帮助

最佳答案

Linq 中,一些保留字,如 WhereFirstOrDefault 为您的查询创建条件并保留 Select word 可以创建您想要的对象 Select 方法将方法应用于元素。这是一种修改集合(如数组)中的元素的优雅方式。此方法接收匿名函数作为参数——通常指定为 lambda 表达式。

示例: 让我们看一下将 Select 扩展方法应用于字符串数组的程序。分配了一个数组类型的局部变量,并使用了三个字符串文字。我们在此数组引用上使用 Select。

基本方法在这里:

public static System.Collections.Generic.IEnumerable<TResult> Select<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int,TResult> selector);

现在!对于您搜索的这个问题,您可以使用此代码:

var divNotaResult = list
.Select((data, index) => data.FindElement(By.Id("accion-1-celda-0-" + index + "-0")))
.ToList();

Select 方法中做 foreach 我们在 function dataindex< 中有两个对象/strong>.

data 有循环的每个数据,index 有循环的计数。

关于c# - 无法将 foreach 更改为 LINQ 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53036312/

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