亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c# list部分操作實現代碼

2020-01-24 03:08:57
字體:
來源:轉載
供稿:網友

C# Linq獲取兩個List或數組的差集交集

復制代碼 代碼如下:

List<int> list1 = newList<int>();
list1.Add(1);
list1.Add(2);
list1.Add(3);
List<int> list2 = newList<int>();
list2.Add(3);
list2.Add(4);
list2.Add(5);
//得到的結果是4,5 即減去了相同的元素。
List<int> list3 = list2.Except(list1).ToList();
foreach(inti inlist3)
{
MessageBox.Show(i.ToString());
}

合并兩個數組,并去掉重復元素,然后排序(C#)

復制代碼 代碼如下:

List<int> numbers1 = newList<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 12, 10};
List<int> numbers2 = newList<int>() { 15, 14, 11, 13, 19, 18, 16, 17, 12, 10};
varnewQuerty = numbers1.Concat(
fromn innumbers2
where!numbers1.Contains(n)
selectn
).OrderBy(n=>n);

合并兩個數組,并去除合并后的重復數據, 并排序

復制代碼 代碼如下:

int[] A={1,2,2,3,4,5,6,6,6};
int[] B={2,2,2,3,7,8,9,5};

List<int> list = new List<int>(A);
list.AddRange(B);

list.Sort();

//去除重復項
foreach (int i in list.Distinct<int>())
{
Console.WriteLine(i);
}

C# 取兩個數組的相同元素
以往我們都是肯定絞盡腦汁,肯定什么循環,元素大小,什么因素都考慮進去。但是現在采用Linq可以很好的解決這個問題。找出兩個或多個數組的相同項。

代碼相當簡單:

復制代碼 代碼如下:

usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceTest4_03
{
classProgram
{
staticvoidMain(string[] args)
{
string[] names = {"Adams","Arthur","Buchanan","Tsbuchis","ShCian","FuchsiaLinda","DecheChen","Lotheer","FindLanciCade","SorchLand","JiangZheng","MisiiLoda","Gtod","Dfac","Lama","BakCades","Losangle","ZheWQ","GehengDahaLothi","ToryLandey","DakaLothy","BthLanda","MenNorth","Fith","FoxMain","DontM","Saobba","Del","Sala","Ghero","BhthLaPhda"};
IEnumerable<string> skip = names.Skip(10);
IEnumerable<string> take = names.Take(11);
//取出兩個序列中交集部分,按理論應該輸出JiangZheng
IEnumerable<string> intersect = skip.Intersect(take);
foreach(varsinintersect)
{
Console.WriteLine(s);
}
Console.ReadKey();
}
}
}

C# 獲取兩個數組集合的差集,交集
今天在做一個樹形選擇節點時,遇到一個問題,屬性節點是記錄了相關的ID值,第一次呢全部對這些ID進行處理,但是接下來再次選擇就要分情況了,原先選擇的ID如果不在新選擇的集合中那么剔除掉,否則,原先ID不傳入函數處理,新ID傳入函數處理:

比如原來
①選擇的ID是:1,2,3,4 下次:1,2,3,4,5, 那么這時候5要處理,1,2,3,4維持原樣。
②選擇ID是:1,3 下次: 3,4,5 那么這時候4,5 要處理,3 維持原樣。1剔除。
③選擇ID是:1,2,3,4,5 下次:3,4,5 那么這時候3,4,5都維持原樣,1,2剔除。
④選擇ID是:1,2 下次:3,4,5 那么這時候3,4,5處理,1,2剔除。

簡化一下數學模型:

大家發現沒其實這就是一個數學的概念,集合的差集,那么我們怎么處理呢? 假設前次選擇的集合為A,后次選擇為B

得到要處理的很簡單:B-A (B與A的差集)就是要處理的集合元素,為什么呢?根據概念可知哈!

那么得到不做處理的怎么辦呢? 不要處理的必然是B的子集,那么怎么得到呢?

出來啦既是:B-(B-A) 這是為什么呢? B-A 就是要處理的,而維持原樣的就是當然就是:B-(B-A),

那么剔除的集合呢? A-(B-(B-A))

如何用C#表示呢,我這里就不用什么循環之類的了,我用的是NET3.5 那就好辦了,用Linq處理:

俺這里特殊點,右鍵得到的樹形集合(lstSource)包含了其他信息,先獲取ID集合再說:

復制代碼 代碼如下:

var m_ilAllSelect = lstSource.Select(r => r.ID).AsEnumerable();//新選擇的列表

///////下面開始處理了

List<int> m_ilNewSelect = m_ilAllSelect.ToList();//新選擇列表
List<int> m_ilExcept = m_ilNewSelect.Except(m_mcuids).ToList(); //兩者的不同之處
List<int> m_iExceptAfterAndNew = m_ilNewSelect.Except(m_ilExcept).ToList();//新選擇列表與差集比較,則是新選擇中的舊的

為了簡化給大家,這里的A代表舊集合,B代表新集合,這里的集合都是List<int>泛型列表。
那么要處理的就是 B.Except(A), 維持原樣的:B( B.Except(A)), 剔除的:A.Except(B( B.Except(A))),
不要問我這個Except方法啥意思?看MSDN吧,google也行啦!
當然我實際的源碼比這更細致點,至此解決集合的差集的知識點就這些了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品视频免费| 成人黄色av播放免费| 亚洲精品一区中文| 国产精品视频xxx| 欧美高清不卡在线| 中文字幕国产精品| 成人网中文字幕| 久久夜精品香蕉| 国产欧美精品日韩精品| 性色av一区二区三区| 国产成人在线播放| 欧美激情视频在线免费观看 欧美视频免费一| 精品国产乱码久久久久久天美| 久久偷看各类女兵18女厕嘘嘘| 91精品久久久久久综合乱菊| 九色91av视频| 日韩一区二区精品视频| 精品久久久国产| 国产精品亚洲综合天堂夜夜| 欧美成人精品在线观看| 在线视频国产日韩| 久久亚洲精品国产亚洲老地址| 国产一区二区精品丝袜| 色偷偷噜噜噜亚洲男人| 91欧美日韩一区| 欧美在线精品免播放器视频| 亚洲开心激情网| 91天堂在线观看| 成人444kkkk在线观看| 92福利视频午夜1000合集在线观看| 亚洲一区二区三区成人在线视频精品| 国产精品久久久久久久7电影| 久久久久久午夜| 欧美激情视频网址| xxxxxxxxx欧美| 欧洲午夜精品久久久| 亚洲一区二区久久| 久久久精品欧美| 日韩乱码在线视频| 国产一区二区黄| 国产在线高清精品| 欧美日韩视频免费播放| 亚洲国产高清高潮精品美女| 91精品中国老女人| 国产偷亚洲偷欧美偷精品| 日韩国产高清视频在线| 精品二区三区线观看| 亚洲成人三级在线| 欧美老女人www| 国产精品aaa| 亚洲成人激情图| 欧美在线一级va免费观看| 精品无人区太爽高潮在线播放| 成人国产精品日本在线| 亚洲欧美精品中文字幕在线| 欧美日韩第一页| 欧美一级片在线播放| 中国人与牲禽动交精品| 欧美www视频在线观看| 久久精品国产久精国产一老狼| 国产亚洲激情在线| 亚洲二区在线播放视频| 国产精品入口日韩视频大尺度| 亚洲精品免费一区二区三区| 欧美一区二区三区四区在线| 欧美精品日韩www.p站| 亚洲第一区第二区| 中文字幕日韩在线观看| 午夜精品一区二区三区在线| 亚洲男人天堂手机在线| 亚洲色图综合网| 波霸ol色综合久久| 欧美电影免费观看高清| 成人免费高清完整版在线观看| 国产日韩在线看| 亚洲老头老太hd| 欧美成人免费在线视频| 日本久久亚洲电影| 另类图片亚洲另类| 色诱女教师一区二区三区| 91香蕉亚洲精品| 久久最新资源网| 国产一区二区三区在线看| 欧美疯狂性受xxxxx另类| 久久久国产精品免费| 自拍偷拍亚洲在线| 久久免费视频在线| 91在线高清视频| 97精品国产97久久久久久| 亚洲免费影视第一页| 97国产精品人人爽人人做| 国产精品电影久久久久电影网| 岛国av一区二区在线在线观看| 国产一区二区美女视频| 亚洲永久免费观看| 久久久视频精品| 欧美日本亚洲视频| 日韩亚洲精品电影| 国产成人精品免高潮费视频| 欧美成人sm免费视频| 日韩av中文字幕在线免费观看| 欧美黑人xxxx| 成人av色在线观看| 日韩美女在线观看| 精品美女国产在线| 亚洲一区二区在线| 亚洲欧美激情视频| 久久影视电视剧免费网站| 欧美日韩亚洲视频| 中文字幕一区日韩电影| 91精品视频一区| 精品国内自产拍在线观看| 国产一级揄自揄精品视频| 色黄久久久久久| 成人欧美一区二区三区黑人孕妇| 欧美激情视频一区二区三区不卡| 亚洲精品一区av在线播放| 中文字幕日韩精品在线| 欧洲精品在线视频| 九九热这里只有在线精品视| 中文字幕亚洲综合久久筱田步美| 国产97在线亚洲| 国产精品成人免费电影| 亚洲国产成人久久综合一区| 欧美激情视频在线免费观看 欧美视频免费一| 国产精品久久视频| 欧美成人精品激情在线观看| 成人激情av在线| 黑人精品xxx一区一二区| 国产成人av在线播放| 国产这里只有精品| 亚洲国产另类 国产精品国产免费| yw.139尤物在线精品视频| 国产精品成人一区二区三区吃奶| 一级做a爰片久久毛片美女图片| 久久男人资源视频| 欧美黑人巨大精品一区二区| 国产精品嫩草影院一区二区| 亚洲欧美一区二区精品久久久| 日韩av在线网| 91九色视频在线| 久久伊人91精品综合网站| 欧美午夜精品在线| zzjj国产精品一区二区| 91成人精品网站| 国产精品永久免费视频| 国产亚洲综合久久| 日韩在线视频免费观看| 欧美精品videosex性欧美| 一区二区在线免费视频| 国内精品久久久久伊人av| 欧美日韩一二三四五区| 国产成人极品视频| 国产精品www| 国产精品久久久久77777| 欧美xxxx18国产| 91在线中文字幕| 亚洲色图欧美制服丝袜另类第一页| 在线视频欧美日韩| 亚洲一区精品电影| 国产91久久婷婷一区二区| 亚洲精品乱码久久久久久按摩观| 欧美激情中文字幕乱码免费| 国产狼人综合免费视频|