gpt4 book ai didi

c# - 在 lambda 表达式 C# 中动态生成双引号字符串

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:07 27 4
gpt4 key购买 nike

我在列表中添加了数字,动态连接双引号并按如下方式放入代码中

ArrayList arrRespId = new ArrayList();
for (int i = 0; i < hitsCountRespId; i++)
{
arrRespId.Add("\"" + jsonRespId["aggregations"]["my_fields"]["buckets"][i]["key"].ToString() + "\"");
} //Adding all numbers in the list with double quoted

var strDouble = string.Join(",", arrRespId.ToArray()); //"5","6","7"

大家好,我有一个 lambda 表达式 的代码,它从 Elasticsearch 中获取信息

var SearchAggregate = client.Search<string>(sd => sd
.Index("Index")
.Type("Table")
.Size(0)
.Query(q => q
.Bool(b => b
.Must(
m => m.Terms("QID", new[] { strDouble.tostring() }),
m => m.Terms("ProjectID", new[] { "50" }),
m => m.Terms("RespID", new[] { abc.ToString() })
//m => m.Terms("RespID", new[] { "1","2" })
)))));

但问题是,当我将双引号字符串放入 lambda 表达式时,它采用 "\"5\",\"6\",\"7\",.... 和我的代码没有返回任何东西

See what my lambda expression takes it as a request

我会感谢你的帮助!谢谢

最佳答案

我看到了您的代码和图像输出,您在理解 lambda 表达式中 term 所期望的内容时犯了错误,它不期望双引号数字或字符< br/>term 需要一个包含所需数字的字符串数组,代码如下

string[]  arrRespId= new arrRespId[50]; //in your scenario you can put `hitsCountRespId` as array size
for (int i = 0; i < hitsCountRespId; i++)
{
arrRespId[i]= jsonRespId["aggregations"]["my_fields"]["buckets"][i]["key"].ToString();
}

然后只需将该 string array 放入您的 lambda 表达式中,如下所示

var SearchAggregate = client.Search<string>(sd => sd
.Index("Index")
.Type("Table")
.Size(0)
.Query(q => q
.Bool(b => b
.Must(
m => m.Terms("QID", new[] { strDouble.tostring() }),
m => m.Terms("ProjectID", new[] { "50" }),
m => m.Terms("RespID", arrRespId)
)))));

希望对你有用。

关于c# - 在 lambda 表达式 C# 中动态生成双引号字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35502391/

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