2
더 나은 용어가 부족합니다. 나는 string[]
을 가지고 있고 나중에 사전에 넣으려고 catesian 제품을 자체적으로 조제하고 싶습니다. 그러나 복제/중복 키가있을 때을 제외한 모든 가능한 조합을 싶습니다.문자열 []의 데카르트 곱 (C) 직접 복제/복제하지 않고 #
aa aa
aa bb
aa cc
bb aa
bb bb
bb cc
cc aa
cc bb
cc cc
은 내가 여기에 이해하려고 노력하고있어이 같은 결과를 가질 때 호출에 합류 것입니다 :
string[] array1 = { "aa", "bb", "cc" };
string[][] arrayOfArrays = array1.SelectMany(left => array1, (left, right) => new string[] { left, right }).ToArray();
각 요소로 산출 가능한 모든 조합에서 string[][]
을 얻을 것이다
aa bb
aa cc
bb aa
bb cc
cc aa
cc bb
그런 식으로 사전을 만들 때 for 루프를 사용하지 않고 해당 값 쌍으로 키를 가져올 필요가 없습니다. 1-liner 나 lambda에서 이것을 시연했다면, 이런 종류의 문법에 대해 더 많이 이해하려고 노력하면서 그것을보고 싶습니다.
이것은 내가 찾고있는 것입니다. 이름이 지금 무엇인지 궁금하지만. 이 작동을 다른 언어로 다시 봐야 할 경우에 대비해. – Jamin
이름이있을 수 있습니다. 그렇지 않을 수도 있습니다. 데카르트 제품은 쉽게 정의 할 수 있지만 일부 값이 제거 된 데카르트 제품에 주어진 이름을 결코 들어 본 적이 없습니다 (이 경우 양쪽에서 값이 일치 할 때). –
고마워요. 매우 유용합니다. – Jamin