Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从IList获取所有元素<;对象>;具有[0]索引LINQ_C#_.net_Google Sheets - Fatal编程技术网

C# 如何从IList获取所有元素<;对象>;具有[0]索引LINQ

C# 如何从IList获取所有元素<;对象>;具有[0]索引LINQ,c#,.net,google-sheets,C#,.net,Google Sheets,我在google表中有3列,我填写了它们,希望排除重复的电子邮件 如何从IList中选择索引为0的所有值(有[0]、[1]、[2]个索引,我只需要[0]个索引)。 行[0]。ToString()从google sheets中获取1封电子邮件并进行检查。但是这个方法对GoogleAPI有很多请求,我不知道如何在一个请求中获取所有值 IList values=response.values; if(值!=null&&values.Count>0) { foreach(值中的var行) { if

我在google表中有3列,我填写了它们,希望排除重复的电子邮件

如何从IList中选择索引为0的所有值(有[0]、[1]、[2]个索引,我只需要[0]个索引)。 行[0]。ToString()从google sheets中获取1封电子邮件并进行检查。但是这个方法对GoogleAPI有很多请求,我不知道如何在一个请求中获取所有值

IList values=response.values;
if(值!=null&&values.Count>0)
{   
foreach(值中的var行)
{
if(String.Equals(行[0].ToString(),email.Trim(),StringComparison.InvariantCultureInogoreCase))
{
返回false;
}
}
}

使用LINQ获取枚举的第一个对象的方法是使用or。如果您想在linq中使用上面的全部代码,它将如下所示

var trimmedEmail = email.Trim();
var result = !values.Any(
v => String.Equals(row.First().ToString(), trimmedEmail , StringComparison.InvariantCultureIgnoreCase));
编辑:应该是any(),而不是all()

即,如果第一列中的所有值均等于trimmedEmail,则结果=真,否则结果=假

这可能无助于解决性能问题,因为
first()
在概念上等同于
行[0]
。然而,这完全取决于您正在使用的ILST的实现。既然您提到了GoogleAPI,我就假设这不是一个常规的
System.Collections.Generic.List


如果您的问题是web调用的数量,那么我建议发布一个新问题,专门询问如何减少web调用的数量,并包括使用的API和您正在进行的特定调用。

使用LINQ获取枚举的第一个对象的方法是使用或。如果您想在linq中使用上面的全部代码,它将如下所示

var trimmedEmail = email.Trim();
var result = !values.Any(
v => String.Equals(row.First().ToString(), trimmedEmail , StringComparison.InvariantCultureIgnoreCase));
编辑:应该是any(),而不是all()

即,如果第一列中的所有值均等于trimmedEmail,则结果=真,否则结果=假

这可能无助于解决性能问题,因为
first()
在概念上等同于
行[0]
。然而,这完全取决于您正在使用的ILST的实现。既然您提到了GoogleAPI,我就假设这不是一个常规的
System.Collections.Generic.List


如果您的问题是web调用的数量,那么我建议发布一个新问题,专门询问如何减少web调用的数量,并包括使用的API和您正在进行的特定调用。

这与我的问题相同吗?它不会按0索引选择所有值,我如何理解这段代码,它只会在循环中工作。我说得对吗?所有需要的值都已包含在“值”中,并且可以在linq
Any
中无需循环即可获取。检查任何内部列表是否具有与修剪后的电子邮件相同的第一个元素。所以他写的和你的问题一样,还是你想选择所有的内在价值观?这和我的是同一个变体?它不会按0索引选择所有值,我如何理解这段代码,它只会在循环中工作。我说得对吗?所有需要的值都已包含在“值”中,并且可以在linq
Any
中无需循环即可获取。检查任何内部列表是否具有与修剪后的电子邮件相同的第一个元素。那么他写的东西就等同于你的问题,还是你想选择所有内在价值观?