真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

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)行中。

前言

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

1擴(kuò)展方法

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

運(yùn)用的實(shí)際場(chǎng)景:有個(gè)購(gòu)物清單(購(gòu)物車)對(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     /// 
10     /// 購(gòu)物清單
11     /// 
12     public class ShoppingList
13     {
14         private List _Commodities;
15 
16         public List Commodities
17         {
18             get { return _Commodities; }
19         }
20 
21         public ShoppingList()
22         {
23             _Commodities = new List();
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è)令人不安、惶恐、期待、興奮的新需求來(lái)了,要求清單可以提供一個(gè)清單內(nèi)部所有貨品價(jià)格的合計(jì)而又不破壞對(duì)象結(jié)構(gòu).
對(duì)的。這是非常合理的需求,現(xiàn)在咒罵也于事無(wú)補(bǔ),因?yàn)樾枨罂偸俏粗摹T诮辜?、無(wú)奈中曙光就降臨了,它就是C# 3.0中的特性擴(kuò)展方法。

來(lái)看代碼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 }

這里要說(shuō)的是ShoppingListExtension類型是一個(gè)靜態(tài)類,里面定義了一個(gè)靜態(tài)方法Total,方法的簽名是ShoppingList類型的參數(shù),唯一不同的是在ShoppingList類型前面多了個(gè)this關(guān)鍵字,這時(shí)對(duì)ShoppingList類型的擴(kuò)展方法已經(jīng)定義好了。來(lái)看下示例代碼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=commodity.Price>58).Total().ToString()); 15             Console.ReadLine(); 16         } 17      } 18 }

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


分享名稱:ASP.NETMVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?創(chuàng)新互聯(lián)
URL地址:http://weahome.cn/article/ccisee.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部