Используя DateTime, это может быть что-то вроде этого
string value = "111";
if (value.Length < 4) value = "0" + value;
DateTime dt;
if (DateTime.TryParseExact(value, "MMdd",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) {
int month = dt.Month;
int day = dt.Day;
}
Но, если честно, вам лучше просто разобрать строку вручную. Если вы хотите, чтобы день и месяц были разделены на две отдельные переменные, вы просто вводите издержки (настолько малые, насколько это возможно) с ненужным DateTime.
int value = 111;
int month = value / 100;
int day = value % 100;
if (month > 12)
throw new Exception("Invalid Month " + month.ToString());
if (day > DateTime.DaysInMonth(year, month))
throw new Exception("Invalid Day " + day.ToString());