CSharp · Console
using System;
using System.Threading.Tasks;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class Program
{
public async static Task Main()
{
var foo = new Foo();
foo.Load();
await foo.LoadAsync();
foreach (var carSync in foo.CarsSync)
Console.WriteLine(carSync.Text);
foreach (var carSync in foo.CarsAsync)
Console.WriteLine(carSync.Text);
}
}
public class Foo
{
public IList<Cars> CarsSync { get; set; }
public IList<Cars> CarsAsync { get; set; }
public void Load()
{
CarsSync = GetCars(true).Result.Values.ToList();
}
public async Task LoadAsync()
{
var dictionary = await GetCars(false);
CarsAsync = dictionary.Values.ToList();
}
public Task<Dictionary<long, Cars>> GetCars(bool isSync)
{
return Task.Run(() => {
return new Dictionary<long, Cars>(){
{1, new Cars($"Car 1 | IsSync = {isSync}")},
{2, new Cars($"Car 2 | IsSync = {isSync}")},
};
});
}
}
public class Cars
{
public string Text { get; set; }
public Cars(string text)
{
Text = text;
}
}