.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Collections.Generic;
using System.Net;
using System.Net.NetworkInformation;
using System.Threading.Tasks;
using System.Threading.Tasks.Dataflow;
using System.Text.RegularExpressions;
using System.Linq;
using System.Globalization;

public class Program
{
	
	
	private static List<IPStatus> _results;
	public static async Task MyMethodAsync(IPAddress ip)
	{
		await Task.Delay(500);
		Console.WriteLine("processing");
	}

	public static async Task Asd()
	{
		var options = new ExecutionDataflowBlockOptions{MaxDegreeOfParallelism = 2};
		var block = new ActionBlock<IPAddress>(ip => MyMethodAsync(ip), options);
		var list = new List<IPAddress>{IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback, IPAddress.Loopback};
		foreach (var ip in list)
		{
			block.Post(ip);
		}

		block.Complete();
		await block.Completion;
	}
	

	public static void Main()
	{
		Uri myUri = new Uri("https://www.linkedin.com/in/someone");   
		string host =  myUri.Scheme + Uri.SchemeDelimiter  + myUri.Host;
		Console.WriteLine(host);		
	}
}
;