2017.10.12 簡(jiǎn)單的驗(yàn)證和LINQ中TakeWhile&SkipWhile

分享人:王炳鈞


1. 簡(jiǎn)單的驗(yàn)證

應(yīng)用場(chǎng)景:若需要在頁面解鎖某一段航班,點(diǎn)擊解鎖按鈕時(shí)客戶端js檢驗(yàn)當(dāng)前航班輸入數(shù)據(jù)是否合法衰伯,若合法則進(jìn)行數(shù)據(jù)庫操作铡羡,若不合法,則停止意鲸。

  • 常用ajax

  • 響應(yīng)服務(wù)器的方法烦周,在該button的onclick方法中校驗(yàn)是否合法,若返回true怎顾,則調(diào)用后臺(tái)處理函數(shù)读慎。若返回false,則不執(zhí)行后臺(tái)方法槐雾。

image.png

如果左邊return false 作為驗(yàn)證 右邊則不執(zhí)行夭委。


2. LINQ中TakeWhile&SkipWhile

image.png

在用TakeWhile,SkipWhile前,先看一看常用的Take和Skip:

public static IEnumerable<TSource> Take<TSource>(this IEnumerable<TSource> source, int count);
public static IEnumerable<TSource> Skip<TSource>(this IEnumerable<TSource> source, int count);

Take將枚舉出source中的前count個(gè)元素,返回給客戶端.
Skip 則恰好相反,將跳過source中的前count個(gè)元素,枚舉其余元素

TakeWhile 和 SkipWhile:

數(shù)據(jù)源

static List<Customer> customers = new List<Customer> {
new Customer { CustomerID=1,Name="woody1"},
new Customer { CustomerID=2,Name="woody2"},
new Customer { CustomerID=3,Name="woody3"},
new Customer { CustomerID=4,Name="woody1"}
};

在這個(gè)數(shù)據(jù)源的基礎(chǔ)上,進(jìn)行如下操作:

var cs1 = customers.TakeWhile(c => c.Name == "woody1");
var cs2 = customers.TakeWhile(c => c.Name == "woody2");
var cs3 = customers.SkipWhile(c => c.Name == "woody1");
var cs4 = customers.SkipWhile(c => c.Name == "woody2");

問題:cs1--cs4這四個(gè)IEnumerable<Customer>變量中都保存著些什么元素?

正確答案:

  cs1 :woody1(CustomerID=1)
  cs2 : 沒有任何元素 
  cs3 :woody2 , woody3 , woody1(CustomerID=4)
  cs4 :woody1(CustomerID=1),woody2,woody3,woody1(CustomerID=4)

TakeWhile對(duì)數(shù)據(jù)源進(jìn)行枚舉,從第一個(gè)開始判斷,若返回true,則將該元素返回給客戶端,并且繼續(xù)向下進(jìn)行枚舉募强。但是株灸,一旦值返回false的話,枚舉就此打住钻注,忽略剩下的所有元素蚂且。

SkipWhile也對(duì)數(shù)據(jù)源進(jìn)行枚舉, 從第一個(gè)開始判斷, 若返回true,則跳過該元素,繼續(xù)進(jìn)行枚舉操作幅恋。但是,一旦值返回為false泵肄,則該元素以后的所有元素,都不會(huì)再進(jìn)行判斷捆交,而全部顯示淑翼。

應(yīng)用場(chǎng)景:業(yè)務(wù)部門根據(jù)備降航班來導(dǎo)出備降航班前后航班信息。查詢某天所有航班信息品追,若有備降航班玄括,則將起飛時(shí)間早于該航班的航班數(shù)據(jù)作為一個(gè)文件導(dǎo)出,來獲取多個(gè)表格。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肉瓦,一起剝皮案震驚了整個(gè)濱河市遭京,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌泞莉,老刑警劉巖哪雕,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鲫趁,居然都是意外死亡斯嚎,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門挨厚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來堡僻,“玉大人,你說我怎么就攤上這事疫剃《ひ撸” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵巢价,是天一觀的道長(zhǎng)陌选。 經(jīng)常有香客問我,道長(zhǎng)蹄溉,這世上最難降的妖魔是什么咨油? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮柒爵,結(jié)果婚禮上役电,老公的妹妹穿的比我還像新娘。我一直安慰自己棉胀,他們只是感情好法瑟,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著唁奢,像睡著了一般霎挟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上麻掸,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天酥夭,我揣著相機(jī)與錄音,去河邊找鬼。 笑死熬北,一個(gè)胖子當(dāng)著我的面吹牛疙描,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播讶隐,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼起胰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了巫延?” 一聲冷哼從身側(cè)響起效五,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎炉峰,沒想到半個(gè)月后畏妖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡讲冠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年瓜客,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竿开。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡谱仪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出否彩,到底是詐尸還是另有隱情疯攒,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布列荔,位于F島的核電站敬尺,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贴浙。R本人自食惡果不足惜砂吞,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望崎溃。 院中可真熱鬧蜻直,春花似錦、人聲如沸袁串。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽囱修。三九已至赎瑰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間破镰,已是汗流浹背餐曼。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工压储, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人晋辆。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓渠脉,卻偏偏與公主長(zhǎng)得像宇整,于是被迫代替她去往敵國(guó)和親瓶佳。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,934評(píng)論 6 13
  • 1. 簡(jiǎn)介 1.1 什么是 MyBatis 鳞青? MyBatis 是支持定制化 SQL霸饲、存儲(chǔ)過程以及高級(jí)映射的優(yōu)秀的...
    笨鳥慢飛閱讀 5,461評(píng)論 0 4
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法臂拓,內(nèi)部類的語法厚脉,繼承相關(guān)的語法,異常的語法胶惰,線程的語...
    子非魚_t_閱讀 31,599評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理傻工,服務(wù)發(fā)現(xiàn),斷路器孵滞,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • ? 缺點(diǎn): 1中捆、場(chǎng)景創(chuàng)建后,暫時(shí)無法修改 2坊饶、場(chǎng)景的創(chuàng)建與用例的創(chuàng)建隔離 3泄伪、無法實(shí)現(xiàn)嵌套(類似jmeter的那種功能)
    許你一枝花閱讀 177評(píng)論 0 0