中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

ASP.NETMVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?創(chuàng)新互聯(lián)

ASP.NET MVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?/p>創(chuàng)新互聯(lián)公司是一家專業(yè)提供黃梅企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計(jì)、小程序制作等業(yè)務(wù)。10年已為黃梅眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

前言

目的沒有別的,就是介紹幾點(diǎn)在ASP.NETMVC 用到C#語言特性,還有一些其他瑣碎的知識(shí)點(diǎn),強(qiáng)行的劃分一個(gè)范圍的話,只能說都跟MVC有關(guān),有的是外圍的知識(shí),有的是包含在框架內(nèi)的。 MVC學(xué)前篇字樣?有噱頭的成分也有真實(shí)的成分,所以工欲善其事,必先利其器。器是什么?基礎(chǔ)嘛,雖然說MVC框架中涉及到的知識(shí)很多很多也不是我一篇兩篇能說完的,我能做的就是知道多少就跟大家分享多少,當(dāng)然了隨著時(shí)間的推移會(huì)完善這個(gè)系列。

1擴(kuò)展方法

擴(kuò)展方法是C# 3.0特性里的知識(shí),它用在最多的地方是在Linq中,把眾多的查詢功能添加到了IEnumerable和IEnumerable<T>類型中, 這里不說太多,不然就扯Linq了。

運(yùn)用的實(shí)際場景:有個(gè)購物清單(購物車)對(duì)象,它包含有添加、***清單內(nèi)物品的功能

                      商品對(duì)象,它包含 商品名稱、商品價(jià)格兩個(gè)屬性

代碼1-1

 1 namespace BlogCase
 2     public class Commodity
 3     {
 4         public string Name { get; set; }
 5         public float Price { get; set; }
 6     }
 7     
 8     namespace BlogCase
 9     /// <summary>
10     /// 購物清單
11     /// </summary>
12     public class ShoppingList
13     {
14         private List<Commodity> _Commodities;
15 
16         public List<Commodity> Commodities
17         {
18             get { return _Commodities; }
19         }
20 
21         public ShoppingList()
22         {
23             _Commodities = new List<Commodity>();
24         }
25 
26         public bool AddCommodity(Commodity commodity)
27         {
28             _Commodities.Add(commodity);
29             return true;
30         }
31 
32         public bool RemoveCommodity(Commodity commodity)
33         {
34             if (_Commodities.Contains(commodity))
35             {
36                 _Commodities.Remove(commodity);
37                 return true;
38             }
39             else
40             {
41                 return false;
42             }
43         }
44      }

然后在這個(gè)令人不安、惶恐、期待、興奮的新需求來了,要求清單可以提供一個(gè)清單內(nèi)部所有貨品價(jià)格的合計(jì)而又不破壞對(duì)象結(jié)構(gòu).
對(duì)的。這是非常合理的需求,現(xiàn)在咒罵也于事無補(bǔ),因?yàn)樾枨罂偸俏粗?。在焦急、無奈中曙光就降臨了,它就是C# 3.0中的特性擴(kuò)展方法。

來看代碼1-2

代碼1-2

 1 using BlogCase;
 2 using System.Linq;
 3 
 4 namespace BlogCase.Extension
 5 {
 6     public static class ShoppingListExtension
 7     {
 8         public static float Total(this ShoppingList shoppintlist)
 9         {
10             return shoppintlist.Commodities.Sum(commodity => commodity.Price);
11         }
12     }
13 }

這里要說的是ShoppingListExtension類型是一個(gè)靜態(tài)類,里面定義了一個(gè)靜態(tài)方法Total,方法的簽名是ShoppingList類型的參數(shù),唯一不同的是在ShoppingList類型前面多了個(gè)this關(guān)鍵字,這時(shí)對(duì)ShoppingList類型的擴(kuò)展方法已經(jīng)定義好了。來看下示例代碼1-3的使用吧。

代碼1-3

 1 using BlogCase.Extension;
 2 
 3 namespace BlogCase
 4 { 
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             ShoppingList shoppinglistTest = new ShoppingList();
10             shoppinglistTest.AddCommodity(new Commodity() { Name = "A", Price = 14.3f });
11             shoppinglistTest.AddCommodity(new Commodity() { Name = "B", Price = 15 });
12             shoppinglistTest.AddCommodity(new Commodity() { Name = "C", Price = 27.9f });
13             shoppinglistTest.AddCommodity(new Commodity() { Name = "D", Price = 34.3f });
14             Console.WriteLine(shoppinglistTest.Total().ToString());
15             Console.ReadLine();
16         }
17     }
18 }

這里需要注意的是需要引用擴(kuò)展方法類ShoppingListExtension所在的命名空間,在VS開發(fā)環(huán)境中,擴(kuò)展方法的圖標(biāo)也和普通方法的不一樣。如圖1

圖1

ASP.NET MVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?></p><p>運(yùn)行一下代碼1-3,結(jié)果如圖2。</p><p>圖2</p><p><img src=

運(yùn)行結(jié)果如圖3

圖3

ASP.NET MVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?></p><p>從shoppinglistTest變量調(diào)用擴(kuò)展方法Filter時(shí),傳入了一個(gè)查詢條件(貨品加個(gè)大于58)這個(gè)擴(kuò)展方法返回的就是上面說的IEnumerable<Commodity>類型,然后緊接著調(diào)用IEnumerable<Commodity>類型的擴(kuò)展方法Total。</p><p>到這里簡單的一個(gè)鏈?zhǔn)骄幊棠P途统鰜砹耍信d趣的朋友可以接著去深入的了解linq,當(dāng)然在此之前看完我的后續(xù)文章很重要。</p><p align=center>另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、<a href=高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

名稱欄目:ASP.NETMVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?創(chuàng)新互聯(lián)
本文鏈接:http://www.rwnh.cn/article44/ccisee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、小程序開發(fā)、建站公司、全網(wǎng)營銷推廣外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

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

成都定制網(wǎng)站建設(shè)
磐石市| 嘉鱼县| 满洲里市| 东丽区| 阿克陶县| 镇康县| 老河口市| 东至县| 涞源县| 清原| 织金县| 阳江市| 留坝县| 民勤县| 平武县| 博乐市| 进贤县| 睢宁县| 杂多县| 承德县| 长宁区| 双江| 牟定县| 陵水| 延长县| 宁陵县| 普定县| 沙坪坝区| 玛曲县| 城固县| 顺平县| 和田市| 许昌市| 马龙县| 万源市| 托克逊县| 邮箱| 珠海市| 崇礼县| 碌曲县| 白山市|