Datatable刪除行的Delete和Remove方法的區(qū)別是什么-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“Datatable刪除行的Delete和Remove方法的區(qū)別是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Datatable刪除行的Delete和Remove方法的區(qū)別是什么”吧!

成都創(chuàng)新互聯(lián)專注于周口企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站開發(fā)。周口網(wǎng)站建設(shè)公司,為周口等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站制作,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)

1、在C#中,如果要?jiǎng)h除DataTable中的某一行,大約有以下幾種辦法:

?使用DataTable.Rows.Remove(DataRow),或者DataTable.Rows.RemoveAt(index);可以直接刪除行
?datatable.Rows[i].Delete()。Delete()之后需要datatable.AccepteChanges()方法確認(rèn)完全刪除,因?yàn)镈elete()只是將相應(yīng)列的狀態(tài)標(biāo)志為刪除,還可以通過datatable.RejectChanges()回滾,使該行取消刪除。
?在刪除DataTable中的行的時(shí)候,每刪除一行,DataTable中所有行的索引都會(huì)發(fā)生改變。在循環(huán)刪除DataTable.Row的時(shí)候不能使用foreach。使用foreach進(jìn)行循環(huán)的時(shí)候,是不允許Table有刪除和添加操作的。
?如果是按某列為條件進(jìn)行刪除,則每刪完一行,整個(gè)Table的index就會(huì)立即發(fā)生變化,等于Table已經(jīng)變成了一個(gè)新的表。但是索引卻已經(jīng)加1了。于是會(huì)造成第一列永遠(yuǎn)匹配不到。因此,每刪除完一行,要跟著判斷第一行是否滿足刪除條件。
?如果要?jiǎng)h除DataTable中的多行,應(yīng)該采用倒序循環(huán)DataTable.Rows。因?yàn)檎騽h除時(shí)索引會(huì)發(fā)生變化。程式發(fā)生異常,很難預(yù)料后果。

總結(jié):

delete和remove

?Delete的使用是 datatable.Rows[i].Delete();
?Remove的使用是datatable.Rows.Remove(datatable.Rows[i]);
?這兩個(gè)的區(qū)別是,使用delete后,只是該行被標(biāo)記為deleted,但是還存在,用Rows.Count來獲取行數(shù)時(shí),還是刪除之前的行數(shù).需要使用datatable.AcceptChanges()方法來提交修改.
?而Remove方法則是直接刪除.
?如果在for循環(huán)里刪除行的話,好是使用delete方法,不然會(huì)出現(xiàn)count變化的情況.循環(huán)完后再使用AcceptChanges()方法提交修改,刪除掉標(biāo)記為deleted的行

到此,相信大家對“Datatable刪除行的Delete和Remove方法的區(qū)別是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

本文題目:Datatable刪除行的Delete和Remove方法的區(qū)別是什么-創(chuàng)新互聯(lián)
文章路徑:http://muchs.cn/article32/dhijpc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、靜態(tài)網(wǎng)站、ChatGPT軟件開發(fā)、網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)