public HashSet <int> GetIndexOfDifferences() { return(BoxIdOne.Zip(BoxIdTwo, (c1, c2) => c1 == c2) .Select((isMatch, i) => new { IsMatch = isMatch, Index = i }) .Where(m => !m.IsMatch) .Select(m => m.Index) .ToHashSet()); }
public string GetMatchingString() { var differences = GetIndexOfDifferences(); return(new string(BoxIdOne .Select((letter, i) => new { Letter = letter, Index = i }) .Where(l => !differences.Contains(l.Index)) .Select(l => l.Letter) .ToArray())); }