[英]How take all elements from IList<object> with [0] index LINQ
我在谷歌表中有 3 列,我填寫了它們並希望排除重復的電子郵件。
如何從索引為 0 的IList<object>
選擇所有值(有 [0],[1],[2] 索引,我只需要 [0] 索引)。 row[0].ToString() 從谷歌表格中獲取 1 封電子郵件並進行檢查。 但是這種方法對 google api 提出了很多請求,我不知道如何用 1 個請求獲取所有值
IList<IList<object>> values = response.Values;
if (values != null && values.Count > 0)
{
foreach (var row in values)
{
if (String.Equals(row[0].ToString(), email.Trim(), StringComparison.InvariantCultureIgnoreCase))
{
return false;
}
}
}
使用 LINQ 獲取枚舉的第一個對象的方法是使用.First()
或.FirstOrDefault()
。 如果你想在 linq 中使用上面的整個代碼,它看起來像
var trimmedEmail = email.Trim();
var result = !values.Any(
v => String.Equals(row.First().ToString(), trimmedEmail , StringComparison.InvariantCultureIgnoreCase));
編輯:應該是any() ,而不是all()
即如果第一列中的所有值都等於trimmedEmail,則result=true,否則result=false。
這可能無助於您的性能問題,因為first()
在概念上等同於row[0]
。 然而,這完全取決於您正在使用的 IList 的實現。 既然你提到了谷歌 API,我會假設這不是一個常規的System.Collections.Generic.List<T>
。
如果您的問題是網絡調用的數量,那么我建議發布一個新問題,專門詢問如何減少網絡調用的數量,並包括使用的 API 和您進行的特定調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.