public static Range BetweenContacts1(this List <Contacts> sender, ContactName firstContact, ContactName lastContact) { var startIndex = sender.FirstOrDefault(contact => contact.FirstName == firstContact.FirstName && contact.LastName == firstContact.LastName).StartIndex; var endIndex = sender.FirstOrDefault(contact => contact.FirstName == lastContact.FirstName && contact.LastName == lastContact.LastName).EndIndex; return(startIndex..endIndex); }
/// <summary> /// Get Indices for between two contacts. /// </summary> /// <param name="sender">List of <seealso cref="Contacts"/></param> /// <param name="firstContact"><seealso cref="ContactName"/></param> /// <param name="lastContact"><seealso cref="ContactName"/></param> /// <returns>Start contact index, last contact index with ^ (hat)</returns> public static (Index startIndex, Index endIndex) BetweenContacts(this List <Contacts> sender, ContactName firstContact, ContactName lastContact) { return ( sender.FirstOrDefault(contact => contact.FirstName == firstContact.FirstName && contact.LastName == firstContact.LastName).StartIndex, sender.FirstOrDefault(contact => contact.FirstName == lastContact.FirstName && contact.LastName == lastContact.LastName).EndIndex ); }