内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

ASP.NETMVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?/h1>

 ASP.NET MVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?/p>

我們擁有10多年網(wǎng)頁設(shè)計和網(wǎng)站建設(shè)經(jīng)驗,從網(wǎng)站策劃到網(wǎng)站制作,我們的網(wǎng)頁設(shè)計師為您提供的解決方案。為企業(yè)提供成都網(wǎng)站設(shè)計、成都做網(wǎng)站、微信開發(fā)、成都微信小程序、成都手機(jī)網(wǎng)站制作HTML5、等業(yè)務(wù)。無論您有什么樣的網(wǎng)站設(shè)計或者設(shè)計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設(shè)計服務(wù)并滿足您的需求。

前言

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

 

1擴(kuò)展方法

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

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

                       商品對象,它包含 商品名稱、商品價格兩個屬性

代碼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      }

然后在這個令人不安、惶恐、期待、興奮的新需求來了,要求清單可以提供一個清單內(nèi)部所有貨品價格的合計而又不破壞對象結(jié)構(gòu).
對的。這是非常合理的需求,現(xiàn)在咒罵也于事無補(bǔ),因為需求總是未知的。在焦急、無奈中曙光就降臨了,它就是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類型是一個靜態(tài)類,里面定義了一個靜態(tài)方法Total,方法的簽名是ShoppingList類型的參數(shù),唯一不同的是在ShoppingList類型前面多了個this關(guān)鍵字,這時對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時,傳入了一個查詢條件(貨品加個大于58)這個擴(kuò)展方法返回的就是上面說的IEnumerable<Commodity>類型,然后緊接著調(diào)用IEnumerable<Commodity>類型的擴(kuò)展方法Total。</p><p>到這里簡單的一個鏈?zhǔn)骄幊棠P途统鰜砹?,有興趣的朋友可以接著去深入的了解linq,當(dāng)然在此之前看完我的后續(xù)文章很重要。</p><p> </p><p> </p><p> </p>            <p>
                分享題目:<a href=ASP.NETMVC學(xué)前篇之?dāng)U展方法、鏈?zhǔn)骄幊?/a>
轉(zhuǎn)載來源:http://www.rwnh.cn/article14/pgcgge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、標(biāo)簽優(yōu)化、小程序開發(fā)網(wǎng)站排名、網(wǎng)站設(shè)計

廣告

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

手機(jī)網(wǎng)站建設(shè)
年辖:市辖区| 宁远县| 乾安县| 揭东县| 天祝| 仁布县| 灌南县| 封开县| 嘉兴市| 越西县| 睢宁县| 会宁县| 太康县| 呈贡县| 定安县| 加查县| 胶南市| 荥经县| 石城县| 江永县| 攀枝花市| 三明市| 三河市| 全州县| 保山市| 东兰县| 临沧市| 湖口县| 焦作市| 镇坪县| 新晃| 营口市| 鄄城县| 宁夏| 青州市| 长岛县| 鄯善县| 湘潭市| 安吉县| 曲松县| 通河县|