这篇是对象与集合操练,物件的创建,集合的一些基本功能,如添加,编辑,删除等功能。
对象,即是网店的商品物件,insus.net只为其添加2个属性,物件的id的key和名称itemname以及2个构造函数,最后一个方法是重写tostring()方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
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;
}
}
}
|
下面是在控制台测试上面写好的集合购物车:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
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的功能:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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