Please excuse my lack of better terminology. I have a string[] and I\'d like to get the product of a catesian join with itself for later to put in a dictionary.
string[]
I'm not sure it has a name, but you can use a Where clause to filter out those matching values.
Where
string[][] arrayOfArrays = array1.SelectMany(left => array1, (left, right) => new string[] { left, right }) .Where(x => x[0] != x[1]) .ToArray();