C 集合彙總

2022-01-31 17:29:50 字數 2358 閱讀 7980

1

using

system;

2using

system.collections;

3using

system.collections.generic;

4using

system.linq;

5using

system.text;

6using

system.threading.tasks;78

namespace

consoledemo.list936

48}49#endregion

5051

#region 鍊錶結構

5264

6584

103104

115126

137155

#endregion

156157

158167

168//

abc list = new abc[10];

169//

list.add

170//

foreach(var a in list)

171//

174175

176int myarray = ;

177 ienumerator myie =myarray.getenumerator();

178myie.reset();

179while

(myie.movenext())

180"

, i);

183}

184185

186/*

187188

189延時執行: iqueryable,ienumberalb 為延時執行(用到的時候再查),ilist一次性載入

190順時執行: ilist一次性查詢後載入到記憶體

191iqueryable介面與ienumberable介面的區別:

192ienumerable泛型類在呼叫自己的skip 和 take 等擴充套件方法之前資料就已經載入在本地記憶體裡了,

193iqueryable是將skip ,take 這些方法表示式翻譯成t-sql語句之後再向sql伺服器傳送命令,

194它並不是把所有資料都載入到記憶體裡來才進行條件過濾。

195196

197*/

198199

200//

iqueryable 生成sql 採用表示式目錄樹,二叉樹查詢

201//

iqeurable(iquerable):不在記憶體載入持久資料,因為這傢伙只是在組裝sql,(延遲執行) 到你要使用的時候,

202//

例如 list.tolist() or list.count()的時候,資料才從資料庫進行載入(asqueryable())。

203//

iqueryablelist2 = dbcontext.customdatalist.where(t => t.primarydataid == "123");

204205

//ienumberalb,使用的是linq to object方式 內建委託,它會將asenumerable()時對應的所有記錄都先載入到記憶體

206//

,然後在此基礎上再執行後來的query

207//

ienumerablelist2 = dbcontext.customdatalist.where(t => t.primarydataid == "123").asenumerable();

208209

210//

ilistlist2 = dbcontext.customdatalist.where(t => t.primarydataid == "123").tolist();

211212

213214

//list:ilist:icollection:ienumberable

215 console.writeline("

_________________________");

216}

217}

218}

219public

class

abc220

222}

223224

///225

///實現了ienumberable介面也可以

226///

227public

class

mycolor : ienumerable

228;

230public

ienumerator getenumerator()

231235

}236 }

C 中集合彙總

平時敲 只關注如何使用,沒有深入去研究一些本質性的東西,靠死記硬背,不去真正理解,其實最後是很難記住的。對於c 常見的集合,自己平時好像只有用到list,dictionary,arraylist,array等幾個,其實c 的集合遠遠不止這幾個,一直認為dictionary是有序集合,哎,錯了好久,今...

集合 list set map 彙總

list 是乙個有序的集合,可以包含重複的元素,提供了按索引訪問的方式,它繼承collection。list有兩個重要的實現類 arraylist和linkedlist 這兩個都是執行緒不安全的,vector和copyonwritearraylist是執行緒安全的 arraylist 可以看作是能夠...

java集合彙總(三) Set

public inte ce setextends collection 不包含重複元素的集合。繼承方法請看 collection boolean add e e 如果指定的元素不存在,則將其指定的元素新增。boolean addall collection c 將指定集合中的所有元素新增到此集合 ...