public static T FindFirstEmptyElement <T>(T[] array, EmptyElementCallbackHandler <T> callbackHandler) where T : class { int emptyIndex = FindFirstEmptyIndex(array, callbackHandler); return(emptyIndex > -1 ? array[emptyIndex] : null); }
public static int FindFirstEmptyIndex <T>(T[] array, EmptyElementCallbackHandler <T> callbackHandler) { for (int i = 0; i < array.Length; i++) { if (callbackHandler.Invoke(array[i])) { return(i); } } return(-1); }