IAsyncEnumerator 项变为空

问题描述

在使用枚举器迭代我的 ReliableDictionary 时,“Current.Value”返回 null,因为“totalLength += val.Length;”行抛出 NullPointerException。 这怎么可能?

public async Task RemoveItemsPeriodically()
{
    try
    {
        var totalLength = 0;
        var dict= await this.stateManager.GetorAddAsync<IReliableDictionary<string,Item>>("dict");
        using (ITransaction tx = this.stateManager.CreateTransaction())
        {
            IAsyncEnumerable<keyvaluePair<string,Item>> asyncEnumerable = await dict.CreateEnumerableAsync(tx);
            List<string> removeKeys= new List<string>();
            using (IAsyncEnumerator<keyvaluePair<string,Item>> asyncEnumerator = asyncEnumerable.GetAsyncEnumerator())
            {
                while (await asyncEnumerator.MoveNextAsync(CancellationToken.None))
                {
                    if (asyncEnumerator == null || asyncEnumerator.Current.Value == null)
                    {
                        Log();
                    }
                    else
                    {
                        var keyvalue = asyncEnumerator.Current;
                        var key = keyvalue.Key;
                        var val= keyvalue.Value;
                        totalLength += val.Length;
                        if (this.checkToDelete(item.DeleteValue))
                        {
                            removeKeys.Add(key);
                        }
                    }
                }

                foreach (string keyToRemove in removeKeys)
                {
                    dict= await this.stateManager.GetorAddAsync<IReliableDictionary<string,Item>>("dict");
                    await dict.TryRemoveAsync(tx,keyToRemove);
                }
            }

            await tx.CommitAsync();
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...