public char getChar(Map<String,String> args, String name, char defaultValue) {String s = args.remove(name);if (s == null) {return defaultValue;} else {if (s.length() != 1) {throw new IllegalArgumentException(name + " should be a char. \"" + s + "\" is invalid");} else {return s.charAt(0);}}}

public virtual char GetChar(IDictionary<string, string> args, string name, char defaultVal){string s;if (args.TryGetValue(name, out s)){args.Remove(name);if (s.Length != 1){throw new System.ArgumentException(name + " should be a char. \"" + s + "\" is invalid");}else{return s[0];}}return defaultVal;}
