gpt4 book ai didi

c# - 具有匿名类型的 linq 表达式中的 TryGetValue()

转载 作者:行者123 更新时间:2023-11-30 16:34:23 26 4
gpt4 key购买 nike

我不能在匿名类型的 linq 表达式中使用字典中的 TryGetValue()

Dictionary<string, string> dict = new Dictionary<string, string>()
{
{"1", "one"},
{"2", "two"},
{"3", "three"}
};

public string getValueByKey(string value)
{
string sColumnType = "";
dict.TryGetValue(value, out sColumnType);
return sColumnType;
}

[WebMethod]
public string getData(string name)
{
var result = (from z in myObject
where z.name == name
select new
{
a = z.A,
b = z.B,
c=getValueByKey(z.C) //fails there

}).ToList();



return new JavaScriptSerializer().Serialize(result);
}

请告诉我如何通过字典中的键获取值?

最佳答案

问题很可能是它不知道如何将对 getValueByKey 的调用转换为存储库的表达式——因为它不能。首先使用 ToList() 实现查询,以便它现在对对象执行 LINQ,然后对匿名类型进行选择。

[WebMethod] 
public string getData(string name)
{
var result = myObject.Where( z => z.name == name )
.ToList()
.Select( k =>
new
{
a = k.A,
b = k.B,
c = getValueByKey(k.C)
})
.ToList();

return new JavaScriptSerializer().Serialize(result);
}

关于c# - 具有匿名类型的 linq 表达式中的 TryGetValue(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470678/

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