数组排列有关问题,

数组排列问题,高手请进!
我遇到这样的一个问题。数组的个数不固定。假如说    我有5个数组
我要从这5个数组中挑选出2个进行匹配,显示出匹配的类容并得到最后的结果

list1{张三,李四,王五}
list2{小牛,小马,小羊}
list3{昆虫,鸟类,人类}
list4{狼,马,羊,驴,狗,燕子,乌鸦,凤凰}
list5{头发,指甲,鼻子,嘴巴,眼睛}

这里是五个数组,我想怎么进行匹配,不要被文字迷惑,跟文字没有关系.我简单的匹配一下

arrlist{张三&小牛,张三&小马,张三&小羊,张三&昆虫,张三&鸟类,张三&人类,张三&狼,。。。。}


请问这样匹配该如何匹配呢?求高手指点!数组排列有关问题,
------解决思路----------------------
百度  c#排列组合算法
------解决思路----------------------
随机两个数组 判断数组长度是否相同 不然你匹配会有单个问题 如不考虑匹配出单问题 你可以随便随机两个
------解决思路----------------------
感觉没有表达清楚意思,如果是从五个数组中随机抽取两个,然后对两个数组的内容进行排练组合,不需要来提问吧。你确认是要做这个操作吗?