using System.Collections.Generic;
using static System.Console;
public static void Main()
var alphabet = new List<char>();
for (int i = 0; i < 26; i++)
alphabet.Add((char)('A' + i));
foreach (char c in alphabet)
WriteLine(Diamond.Make(c));
public static class Diamond
public static string Make(char target)
if (target < 'A' || target > 'Z')
throw new ArgumentOutOfRangeException(nameof(target), "Target must be between 'A' and 'Z'.");
var sb = new StringBuilder();
for (int i = 0; i <= size; i++)
sb.AppendLine(DrawLine(size - i, (char)('A' + i), i));
for (int i = size - 1; i >= 0; i--)
sb.AppendLine(DrawLine(size - i, (char)('A' + i), i));
private static string DrawLine(int padding, char letter, int innerSpace)
var sb = new StringBuilder();
sb.Append(new string('·', padding));
sb.Append(new string('·', innerSpace * 2 - 1));
sb.Append(new string('·', padding));