好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#集合Collections购物车Shopping Cart(实例讲解)

这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能。

对象,即是网店的商品物件,insus.net只为其添加2个属性,物件的id的key和名称itemname以及2个构造函数,最后一个方法是重写tostring()方法。

?

class item

  {

   private int _key;

   public int key

   {

    get

    {

     return _key;

    }

    set

    {

     _key = value;

    }

   }

 

   private string _itemname;

 

   public string itemname

   {

    get { return _itemname; }

    set { _itemname = value; }

   }

 

   public item()

   {

 

   }

 

   public item(int key, string itemname)

   {

    this._key = key;

    this._itemname = itemname;

   }

 

   public override string tostring()

   {

    return string.format("id: {0}; name: {1}。",_key,_itemname);

   }

  }

有了物件,你可以创建你的购物车shopping cart:

?

class shoppingcart

  {

   private sortedlist< int , item> _sl = new sortedlist< int , item>();

 

   public void add(item item) //物件添加

   {

    this._sl.add(item.key, item);

   }

 

   public void edit(item item) //编辑物件

   {

    if (this._sl.containskey(item.key))

    {

     this._sl[item.key] = item;

    }

   }

 

   public void delete(item item) //删除物件

   {

    this._sl.remove(item.key);

   }

 

   public item this[int key] //索引器

   {

    get

    {

     if (!this._sl.containskey(key))

     {

      return null;

     }

     else

     {

      return this._sl[key];

     }

    }

   }

 

   public virtual int count //集合中物件数量

   {

    get

    {

     return this._sl.count;

    }

   }

 

   public virtual ienumerable< item > items //获取所有物件

   {

    get

    {

     return this._sl.values;

    }

   }

  }

下面是在控制台测试上面写好的集合购物车:


?

class program

  {

   static void main(string[] args)

   {

    shoppingcart sc = new shoppingcart();

 

    var item1 = new collections.item();

    item1.key = 1;

    item1.itemname = "huawei v8";

    sc.add(item1);

 

    var item2 = new collections.item();

    item2.key = 2;

    item2.itemname = "huawei v9";

    sc.add(item2);

 

    var item3 = new collections.item();

    item3.key = 3;

    item3.itemname = "huawei v10";

    sc.add(item3);

 

    console.writeline("使用索引器,输出对象:");

    console.writeline(sc[3].tostring());

 

    console.writeline("集合中对象数量:");

    console.writeline(sc.count);

 

    console.writeline("列出所有对象:");

    sc.items.foreach(delegate (collections.item item)

    {

     console.writeline(item.tostring());

    });

   }

  }

按ctrl + f5输出结果:

最后演示编辑edit和删除delete的功能:

?

var item4 = new collections.item();

    item4.key = 2;

    item4.itemname = "huawei mate10";

    sc.edit(item4);

 

    console.writeline("编辑后列出所有对象:");

    sc.items.foreach(delegate (collections.item item)

    {

     console.writeline(item.tostring());

    });

 

 

    var item5 = new collections.item();

    item5.key = 1;

    sc.delete(item5);

 

    console.writeline("删除后列出所有对象:");

    sc.items.foreach(delegate (collections.item item)

    {

     console.writeline(item.tostring());

    });

运行看看结果:

以上这篇c#集合collections购物车shopping cart(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/insus/archive/2017/12/14/8037298.html

dy("nrwz");

查看更多关于C#集合Collections购物车Shopping Cart(实例讲解)的详细内容...

  阅读:48次