using System.Threading.Tasks;
public static void Main() => Task.Run(() => MainAsync()).GetAwaiter().GetResult();
public async static Task MainAsync()
var building = new Building();
Console.WriteLine(await building.Build());
public void Create(int floors = 1, bool hasRoof = false, bool hasBalcony = false, string matetial = "BRICK")
this.hasBalcony = hasBalcony;
this.matetial = matetial;
public async Task<string> Build()
var roof = hasRoof ? "Has roof" : string.Empty;
var balcony = hasBalcony ? "Has balcony" : string.Empty;
await PaintAsync(floors);
return $"Floors: {floors}; {roof}; {balcony}; Material : {matetial}";
private async Task PaintAsync(int floors){
for(int i = 0; i < floors; i++){