免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
笛卡兒積

在進(jìn)行商品屬性模塊設(shè)計(jì)的時(shí)候,同一個(gè)商品可能有不同的屬性,不同值,這個(gè)時(shí)候,就會(huì)進(jìn)行不同的組合,于是就產(chǎn)生了SKU的概念,在這里比如說(shuō)某個(gè)用戶選擇了一個(gè)商品了,這個(gè)商品與如下的屬性和值,例如:以1開(kāi)頭的是一種屬性,"_"后邊的為屬性值,以此類推,那么可以組成多少個(gè)不同的組合?,組合一:1_22&2_4&6_333&7_77.....怎么用程序去實(shí)現(xiàn)呢?

 1 //產(chǎn)生的集合,這個(gè)集合的屬性個(gè)數(shù)是不確定的 2 List<string> listStrs = new List<string>() 3                                         { 4                                             "1_22", 5                                             "1_33", 6                                             "1_34", 7                                             "2_4", 8                                             "2_32", 9                                             "2_54",10                                             //"6_333",11                                             //"6_66",12                                             //"7_77",13                                             //"7_89"14                                         };15  //先分組16             var groups = from str in listStrs17                          group str by str.Split('_')[0] into g 18                          select g;19 20             List<string> strResult = new List<string>();//定義最后的結(jié)果集合21 22             //遍歷每個(gè)組23             foreach (var groupStr in groups)24             {25                 List<string> temp = new List<string>();//定義臨時(shí)集合26                 foreach (var item in groupStr)//遍歷組內(nèi)的所有的項(xiàng)27                 {28                     if (strResult.Count() <= 0)//如果是第一個(gè)分組遍歷那么只需要直接將分組的集合放到 臨時(shí)集合,再放到最終集合29                     {30                         temp.Add(item);31                     }32                     else33                     {34                         //如果是第二個(gè)組之后的邏輯那么就 做組內(nèi)的每個(gè)項(xiàng)跟 最終集合做笛卡爾積35                         foreach (var target in strResult)//做最終集合跟 當(dāng)前組的組合乘積36                         {37                             temp.Add(target + "&" + item);//將項(xiàng)的相乘的結(jié)果做成組合項(xiàng)38                         }39                     }40                 }41                 strResult.Clear();//清空之前的數(shù)據(jù)42                 strResult.AddRange(temp);//將臨時(shí)集合的數(shù)據(jù)放到最終的結(jié)果集合里去43             }
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
javascript快速入門5
遍歷Newtonsoft.Json.Linq.JObject
DELPHI SOCKET 通信編程要點(diǎn)小結(jié)
java和delphi共用的des加密解密
<c:forEach varStatus='status'>中 varStatus的屬性...
C# params的用法詳解
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服