Code:
//Copyright 2005 Mike Borozdin
 
class Utils
 {
  public static string printR(int[] intArray)
  {
   string result = "int[]\n{";
   for (int i = 0; i < intArray.Length; i++) {
			 result += "\t[" + i + "] = " + intArray[i] + "\n";
   }
   result += "}";
   return result;  
  }
  public static string printR(string[] stringArray)
  {
   string result = "string[]\n{";
   for (int i = 0; i < stringArray.Length; i++) {
			 result += "\t[" + i + "] = \"" + stringArray[i] + "\"\n";
   }
   result += "}";
   return result;  
  }
  public static string printR(object[] objArray)
  {
   string result = "object[]\n{";
   for (int i = 0; i < objArray.Length; i++) {
			 result += "\t[" + i + "] = " + objArray[i] + "\n";
   }
   result += "}";
   return result;  
  }
  public static string printR(ICollection ic)
  {
   string result = "Collection\n{";
   int i = 0;
   foreach (object obj in ic)  {
	result += "\t[" + i + "] = " + obj + "\n";
	i++;
   }
   result += "}";
   return result;
  }
  public static string printR(IDictionary ic)
  {
   string result = "IDictionary\n{";
   IDictionaryEnumerator ide = ic.GetEnumerator();
   while (ide.MoveNext()) {
	result += "\t[\"" + ide.Key + "\"] = " + ide.Value + "\n";
   }
   result += "}";
   return result;
  }
 }