Вы можете просто отсортировать их и объединить их, скажем, скажем, длина первого слова.
Таким образом f("one","two") = "onetwo3"
, f("two","one") = "onetwo3"
, и никакая другая комбинация не выдаст эту уникальную строкутак как, e, g, "onet", "wo"
даст "onetwo4"
Тем не менее, это будет ужасное решение для разумно длинных строк.
Вы также можете сделать какую-то калькуляцию хеш-кода,как этот
first.GetHashCode() ^ second.GetHashCode()
, который был бы достаточно уникальным, однако вы не можете гарантировать уникальность.
Было бы неплохо, если бы ОП предоставил немного больше контекста, потому что это не звучиткак разумное решение любой проблемы.