System.Threading.Tests.AsyncLocalTests.AddUpdateAndRemoveManyLocals_ReferenceType C# (CSharp) Méthode

AddUpdateAndRemoveManyLocals_ReferenceType() private méthode

private AddUpdateAndRemoveManyLocals_ReferenceType ( ) : System.Threading.Tasks.Task
Résultat System.Threading.Tasks.Task
        public static async Task AddUpdateAndRemoveManyLocals_ReferenceType()
        {
            var locals = new AsyncLocal<string>[40];

            for (int i = 0; i < locals.Length; i++)
            {
                locals[i] = new AsyncLocal<string>();
                locals[i].Value = i.ToString();

                for (int j = 0; j <= i; j++)
                {
                    Assert.Equal(j.ToString(), locals[j].Value);

                    locals[j].Value = (j + 1).ToString();
                    Assert.Equal((j + 1).ToString(), locals[j].Value);

                    locals[j].Value = j.ToString();
                    Assert.Equal(j.ToString(), locals[j].Value);
                }
            }

            for (int i = 0; i < locals.Length; i++)
            {
                locals[i].Value = null;
                Assert.Null(locals[i].Value);
                for (int j = i + 1; j < locals.Length; j++)
                {
                    Assert.Equal(j.ToString(), locals[j].Value);
                }
            }
        }
    }