Исходя из ваших комментариев о том, что вы не ожидаете более одного условия, вы можете избежать явных индексов, используя Enum. Случаи If / Switch могут быть заменены словарем, который отображает индексы (или лучше Enum) в действия (которые необходимо выполнить для каждого случая).
Например,
var cron = "* * */2 * ";
var arr = cron.Split(new[]{" "},StringSplitOptions.RemoveEmptyEntries);
var value = arr.Select((x,index)=>new {Value=x, Index=index}).First(x=>!x.Value.Equals("*"));
var dictionaryOfActions = new Dictionary<Position,Action>
{
[Position.Minute] = ()=> ProcessMinute(),
[Position.Hour] = ()=> ProcessHour(),
[Position.Day] = ()=> ProcessDay(),
};
dictionaryOfActions[(Position)value.Index]();
Где Позиция определяется как
public enum Position
{
Minute,
Hour,
Day
}
и ProcessMinute, ProcessHour и т. Д. Представляют действия, которые необходимо выполнить при каждом условии.