using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
public static class Program
public static async Task Main(string[] args)
Utils.list_unique(default(CancellationToken), null);
foreach (var id in Utils.list_of_unique_ids)
public static class Utils
public static List<int> list_of_unique_ids;
public static async void list_unique(CancellationToken tkn, ILogger logger)
HttpClient client = new HttpClient();
var jsonStream = client.GetAsync("https://jsonplaceholder.typicode.com/posts").Result.Content.ReadAsStreamAsync().Result;
var Posts = JsonSerializer.DeserializeAsync<PostDto[]>(jsonStream).Result;
list_of_unique_ids = new List<int>();
if (list_of_unique_ids.Contains(p.userId))
list_of_unique_ids.Add(p.userId);
log_async(logger, list_of_unique_ids);
private static async void log_async(ILogger logger, List<int> IDs)
await Task.Run(() => logger.LogDebug($"API call succeeded. IDs: {IDs}"));
public int userId { get; set; }
public int id { get; set; }