【发布时间】:2021-08-12 05:24:06
【问题描述】:
我试图根据匹配的字符串从列表中获取对象(类)。我在列表中使用 .Where 函数。我试过用不同的演员替换它,但它总是抛出一个 InvalidCastException。有谁知道如何直接投射或将对象从列表中取出?
例外: 无法将“System.Linq.Enumerable+WhereListIterator`1[Security.SecurityToken]”类型的对象转换为“Security.SecurityToken”类型。
public class SecurityToken {
public string body = "example";
}
public class Tokenizer {
private static List<SecurityToken> allTokens = new List<SecurityToken>();
public static async Task<bool> isTokenValid(string token)
{
SecurityToken foundToken = (SecurityToken)allTokens.Where(tk => tk.body == token);
return foundToken.body.equals(token);
}
}
【问题讨论】:
-
你试过在 .Where() function First() 之后输入吗?类似 (SecurityToken)allTokens.Where(tk => tk.body == token).First(); .
标签: c# asynchronous ienumerable enumerable