如何在此函数中输入值?

how to input value in this function?

我想在 aws QueryAsync 函数中输入一些数据,但它不起作用

我该怎么做?

List<int> mNum = new List<int>();

mNum.Add(1);
mNum.Add(2);
mNum.Add(3);

client1.QueryAsync(request, (queryResult) =>
{
    if(queryResult.Exception != null)
    {
        print(queryResult.Exception.ToString());
        return;
    }

    foreach(var i in queryResult.Response.Items){ ... }

    mNum.Add(4);
});

for(int i = 0; i < mNum.Count; i++) print (mNum[i]); // count -> 3

您的错误是在查询完成之前立即执行了 lambda 表达式之外的代码,因此您的行

mNum.Add(4);

for 循环执行后很长时间异步执行并打印出当时存在的唯一 3 个元素。

您宁愿等待回调并在 lambda 中执行,例如

List<int> mNum = new List<int>();

mNum.Add(1);
mNum.Add(2);
mNum.Add(3);

client1.QueryAsync(request, (queryResult) =>
{
    if(queryResult.Exception != null)
    {
        print(queryResult.Exception.ToString());
        return;
    }

    foreach(var i in queryResult.Response.Items){ ... }

    mNum.Add(4);

    foreach(var num in mNum)
    {
        print (num);
    }
});