static void Main(string[] args)
Console.WriteLine("Hello World!");
var uri = new System.Uri("redis://:pass@host:8080/db");
Console.WriteLine($"scheme: {uri.Scheme}");
Console.WriteLine($"host: {uri.Host}");
Console.WriteLine($"port: {uri.Port}");
Console.WriteLine($"user: {uri.GetUsername()}");
Console.WriteLine($"password: {uri.GetPassword()}");
Console.WriteLine($"path&query: {uri.PathAndQuery}");
public static class ProgramExtensions
public static string GetUsername(this Uri uri)
if (uri == null || string.IsNullOrWhiteSpace(uri.UserInfo))
var items = uri.UserInfo.Split(new[] { ':' });
return items.Length > 0 ? items[0] : string.Empty;
public static string GetPassword(this Uri uri)
if (uri == null || string.IsNullOrWhiteSpace(uri.UserInfo))
var items = uri.UserInfo.Split(new[] { ':' });
return items.Length > 1 ? items[1] : string.Empty;