第一組:姚成棟 數(shù)據(jù)重復(fù)插入問題
在跑定時任務(wù)進行多條數(shù)據(jù)同時插入時留晚,會遇到數(shù)據(jù)被重復(fù)插入的問題。要解決只需要用一個標(biāo)志來做判斷即可告嘲。
例如错维,我在寫一個離職人員的定時任務(wù)時,需要從另一個表中查詢出人員的工作情況橄唬,如果狀態(tài)為QuitJob赋焕,則這個人已經(jīng)離職。但是寫完程序仰楚,發(fā)現(xiàn)每次運行都會將之前已經(jīng)插入離職人員表中的人重復(fù)插一遍隆判,很明顯這是錯誤的。所以僧界,在進行多條數(shù)據(jù)同時插入這個事務(wù)之前侨嘀,做一個判斷,如果表中已經(jīng)有了數(shù)據(jù)則不執(zhí)行該sql語句捂襟。具體代碼如下:
foreach(var secondItem in bds) {
if (secondItem.LO_UserName == result[0].UI_UserName && secondItem.LO_UserTid == result[0].UI_UserTid) {
RepeatedFlag = 1; //一旦重復(fù)無需繼續(xù)查詢咬腕,直接跳出循環(huán)
break;
} else {
RepeatedFlag = 0;
}
}
//未重復(fù)則插入
if (RepeatedFlag == 0) {
sql.Add(db.GetInsertSql(loginUser));
}
第二組:暫更
第三組:黃華英 Vue.js 事件處理
方法處理器
可以用 v-on 指令監(jiān)聽 DOM 事件:
//綁定單擊事件處理器到方法greet
<div id="example">
<button v-on:click="greet">Greet</button></div>
在vue實例中定義這個方法
var vm = new Vue({
el: '#example',
data: {
name: 'Vue.js'
},
methods: { // 在 `methods` 對象中定義方法
greet: function(event) { // 方法內(nèi) `this` 指向 vm
alert('Hello ' + this.name + '!')
}
}
})
//greet方法在單擊button時被調(diào)用, 也可以在 JavaScript 代碼中調(diào)用
vm.greet() // -> 'Hello Vue.js!'
內(nèi)聯(lián)語句處理器
除了直接綁定到一個方法葬荷,也可以在內(nèi)聯(lián) JavaScript 語句中調(diào)用方法
<div id="app">
<button v-on:click="say('hi')">
Say hi
</button>
//調(diào)用say方法
<button v-on:click="say('what')">
Say what
</button>
//調(diào)用say方法
<button v-on:click="warn('Form cannot be submitted yet.', $event)">
Submit //有時也需要在內(nèi)聯(lián)語句處理器中訪問原始的DOM事件郎汪,可以用特殊變量$event把它傳入方法
</div>
<script>
new Vue({
el: '#app',
methods: {
say: function(message) {
alert(message)
}
},
Warn: function(message, event) { //訪問原生事件對象
if (event) event.preventDefault() alert(message)
}
})
</script>
事件修飾符
v-on事件修飾符是由點開頭的指令后綴來表示的
<!-- 阻止單擊事件繼續(xù)傳播 -->
<a v-on:click.stop="doThis"></a>
<!-- 只有修飾符 -->
<form v-on:submit.prevent></form>
<!-- 提交事件不再重載頁面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修飾符可以串聯(lián) -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 添加事件監(jiān)聽器時使用事件捕獲模式 -->
<!-- 即元素自身觸發(fā)的事件先在此處處理,然后才交由內(nèi)部元素進行處理 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只當(dāng)在 event.target 是當(dāng)前元素自身時觸發(fā)處理函數(shù) -->
<!-- 即事件不是從內(nèi)部元素觸發(fā)的 -->
<div v-on:click.self="doThat">...</div>
<!-- 點擊事件將只會觸發(fā)一次 -->
<a v-on:click.once="doThis"></a>
注意: 使用修飾符時闯狱,順序很重要煞赢;相應(yīng)的代碼會以同樣的順序產(chǎn)生。因此哄孤,用@click.prevent.self會阻止所有的點擊照筑,而@click.self.prevent只會阻止對元素自身的點擊。
按鍵修飾符
Vue 允許為v-on在監(jiān)聽鍵盤事件時添加按鍵修飾符:
<!-- 只有在 keyCode 是 13 (enter)時調(diào)用 vm.submit() -->
<input v-on:keyup.13="submit">
<input v-on:keyup.enter="submit">
<input @keyup.enter="submit">
第四組:王芳 《萬歷十五年》
當(dāng)時打動我的是這個開篇語:
公元1587年瘦陈,在中國為明萬歷十五年凝危,論干支則為丁亥,屬豬晨逝,當(dāng)日四海升平蛾默,全年并無大事可敘,縱是氣候有點反常捉貌,夏季北京缺雨支鸡,五六月間時疫流行冬念,旱情延及山東,南直隸卻又因降雨過多而患水牧挣,入秋之后山西又有地震急前,但這種小災(zāi)小患,以我國幅員之大瀑构,似乎年年在所不免裆针,只要小事未曾釀成大災(zāi),也就無關(guān)宏旨寺晌,總之世吨,在歷史上,萬歷十五年實為平平淡淡的一年呻征。這是一本歷史書籍耘婚,講的是明朝萬歷十五年前后發(fā)生的幾件事情,作者語氣平淡怕犁,敘事波瀾不驚、不偏不倚己莺,很少帶有個人情感奏甫,其實有時候還挺喜歡這種文風(fēng)的,會覺得這種作者比較慈悲凌受,因為書里的每個人都不是臉譜化的阵子,沒有好壞之分,一切矛盾都是一點點積累起來的胜蛉,看完之后只會覺得這些事情都是歷史發(fā)展的必然結(jié)果挠进,可能這樣才比較公正吧。誊册。
編者注:所有文字都是主觀的
第五組:姜葳 C#語法糖($)(?.)(??)
1. 內(nèi)插字符串($)
實際上是C# 6.0對string.Format的改進领突,將字符串文本標(biāo)識為內(nèi)插字符串($)
根據(jù)微軟的例子來看:
using System;
public class Example {
public static void Main() {
string name = "John";
string greeting = $ "Hello, {name}!";
Console.WriteLine(greeting);
}
}
相當(dāng)于原先的string.Format這種必須使用占位符,極容易出錯:
string name = "John";
string str = string.Fromat("Hello,{0}!",name);
而使用$則不容易出現(xiàn)錯誤案怯,可以這樣寫:
string name = "John";2 string str = $"Hello,{name}!";
2. null條件運算符(?.)
這也是C#6.0的語法君旦,這叫Null-Conditional Operator(null條件運算符)
我們經(jīng)常需要判斷對象是否為null(不判斷呢就會報異常System.NullReferenceException之類的),我們一般像這樣:
List<string> list = null;
if (list != null)
{
string[] strArr = list.ToArray();
}
或者這樣:
List<string> list = null;
string[] strArr = (list != null ? list.ToArray() : null);
使用這個null條件運算符就可以這樣簡單的完成這件事了
List<string> list = null;2 string[] strArr = list?.ToArray();
解釋一下嘲碱,當(dāng) list 為 null 時就不進行后面的ToArray()金砍,返回null,當(dāng) list 不為 null 就ToArray();
這里要注意一下麦锯,前面strArr這個得是個可null的值
3. null合并運算符(??)
?? 運算符稱作 null 合并運算符恕稠。 如果此運算符的左操作數(shù)不為 null,則此運算符將返回左操作數(shù)扶欣;否則返回右操作數(shù)鹅巍。
演示一下:
int? num = null;//前面設(shè)定了個可空的int千扶,后面想null時變?yōu)?就好
int num1 = num ?? 0;