using System.Collections.Generic;
using System.Security.Cryptography;
public static void Main()
,"System.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.Generic"
,"System.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.Generic"
,"System.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.GenericSystem.Collections.Generic"
var patternResult = "{0} e altri {1}";
StringBuilder sb = new StringBuilder();
for(c = 0; c < listCaselle.Length ; c++)
if(sb.Length + listCaselle[c].Length <= 255 )
sb.AppendFormat("{0}{1}", listCaselle[c], patternSplit);
sb.Remove(sb.Length - patternSplit.Length , patternSplit.Length );
int left = listCaselle.Length - c;
Console.WriteLine(string.Format(patternResult, sb.ToString(),left));
Console.WriteLine(sb.ToString());