.NET 4.x Dictionary, где ключ и значение List
24.05.2015, 01:13. Показов 1128. Ответов 0
всем привет. надеюсь на помощь. понимаю что в коде куча косяков но постарайтесь разобраться ;-)
Стоит задача написать ломбард.
Состоящий из украшений и клиентов.
решил впиндюрить это все в БИБЛИОТЕКУ<LIST<КЛИЕНТ>, LIST<УКРАШЕНИЕ>>
вот что вышло...
КЛАС КЛИЕНТ
| C# | 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
| //КЛАС КЛИЕНТ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Lombard
{
class Client
{
string firstName, lastName;
double money;
private int v;
public Client() {
}
public Client(string firstName, string lastName, double money) {
this.firstName = firstName;
this.lastName = lastName;
this.money = money;
}
public Client(string firstName, string lastName, double money, int v) : this(firstName, lastName, money)
{
this.v = v;
}
public void InsertInfoClient(){
Console.WriteLine("Введите Имя");
firstName = Console.ReadLine();
Console.WriteLine("Введите Фамилию");
lastName = Console.ReadLine();
Console.WriteLine("Количество денег у клиента");
money = double.Parse(Console.ReadLine());
Console.WriteLine("{0}, {1}, {2}", firstName, lastName, money);
}
public void ShowClient() {
Console.Write("{0}, {1}, {2}", firstName, lastName, money);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public static void All(Client All, List<Client> lstAll)
{
lstAll.Add(All);
}
}
} |
|
КЛАСС ОЖЕРЕЛЬЕ
| C# | 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
54
55
56
57
58
59
60
| //класс украшение
class Necklase:Jewelry
{
DateTime date1 = DateTime.Now;
public int numStones;
public int trialMaterial;
public string nameStones;
DateTime dataBorn;
double weight;
//
double costMetal; //стоимость материала изделия, злолто или что другое
double costStones; //стоимость камней
double allCost; //общая стоимость изделия
public Necklase() {
}
public Necklase(string name, int numStones, string nameStones, double weight, int trialMaterial) {
this.name = name;
this.numStones = numStones;
this.nameStones = nameStones;
//this.dataBorn = dataBorn;
this.weight = weight;
this.trialMaterial = trialMaterial;
}
public void InsertNecklaseInfo() {
Console.WriteLine("Введите название изделия");
name = Console.ReadLine();
Console.WriteLine("Введите количество камней");
numStones = int.Parse(Console.ReadLine());
Console.WriteLine("Какие камни присутствуют в ожерелье");
nameStones = Console.ReadLine();
Console.WriteLine("Какой вес изделия?");
weight = double.Parse(Console.ReadLine());
Console.WriteLine("Укажите пробу");
trialMaterial= int.Parse(Console.ReadLine());
}
public void ShowNeck(){
Console.Write("{0}, {1}, {2}, {3}, {4}", name, numStones, nameStones, weight, trialMaterial);
Console.WriteLine();
}
public void CostJewelry()
{
costStones = numStones * 123;
costMetal = weight * 700;
allCost = costStones + costMetal;
Console.WriteLine("Стоимость изделия составит {0}. Из них, стоимость материала {1}, а стоимость камней составит {2}",allCost, costMetal, costStones);
}
public override void ToString()
{
throw new NotImplementedException();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
}
} |
|
Теперь класс Dictionary
| C# | 1
2
3
4
| public static Dictionary<List<Client>, List<Necklase>> MyDic() {
Dictionary<List<Client>, List<Necklase>> dic = new Dictionary<List<Client>, List<Necklase>>();
dic.Add(new List<Client>(), new List<Necklase>());
return dic; |
|
КЛАСС а-ля Work_Lombard
| C# | 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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
| namespace Lombard
{
class PownShop
{
int cl_num = 0; //переменная инкрементрирует счетчик List<Client>
int nec_num = 0; //переменная инкркрементирует счетчик List<Necklase>
string choise; //переменная выбора
double cost = 0; //оценочнаястоимость изделия
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
List<Client> client = new List<Client>();// List клиент
public void ClientBas()
{
Console.WriteLine("введите 'old'- если хотите загрузить базу, \n'new' - если хотите добавить клиента вручную");
choise = Console.ReadLine();
switch (choise)
{
case "old":
client.Add(new Client("Иван", "Иванов", 30, 50));
client.Add(new Client("Петр", "Петров", 0));
client.Add(new Client("Андрей", "Андреев", 321, 12));
break;
case "new":
client.Add(new Client());
client[cl_num].InsertInfoClient();
++cl_num;
break;
}
}
public void ShowClientList()
{
for (int i = 0; i < client.Count; i++)
{
client[i].ShowClient();
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
List<Necklase> necklase = new List<Necklase>();//колье
public void NecklaseBas()
{
Console.WriteLine("введите 'old'- если хотите загрузить базу с колье, \n'new' - если хотите добавить свое колье");
choise = Console.ReadLine();
switch (choise)
{
case "old":
necklase.Add(new Necklase("Роксолана", 16, "топаз", 12, 525));
necklase.Add(new Necklase("Амазонка", 16, "брилиант", 11, 975));
necklase.Add(new Necklase("Кармелита", 29, "алмаз", 12, 555));
break;
case "new":
necklase.Add(new Necklase());
necklase[nec_num].InsertNecklaseInfo();
++nec_num;
break;
}
}
public void ShowNecklaseList()
{
for (int i = 0; i < necklase.Count; i++)
{
necklase[i].ShowNeck();
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
List<LombardList> ls = new List<LombardList>();
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public void WorkLombard() {
for (int i = 0; i < 3; i++)
{
client[i].ShowClient();
necklase[i].ShowNeck();
necklase[i].CostJewelry();
}
}
}
} |
|
ну и main
| C# | 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
| {
class Program
{
static void Main(string[] args)
{
PownShop psh = new PownShop();
psh.ClientBas();
psh.ShowClientList();
//
psh.NecklaseBas();
psh.ShowNecklaseList();
//
psh.WorkLombard();
//
Dictionary<List<Client>, List<Necklase>> dic = LombardList.MyDic();
// получить ключи
//ICollection<List<Client>> keys = dic.Keys;
//
Console.WriteLine("База данных содержит: ");
for (int i = 0; i < dic.Count; i++) {
Console.WriteLine("{0}", dic[i]);
}
//foreach (KeyValuePair<K,V> in keys)
// Console.WriteLine("ID -> {0} Name -> {1}", List<Client>, dic[j]);
}
}
} |
|
КАК ЗАПИХНУТЬ ДВА LIST в DICTIONARY. Спс за помощь ;-)
0
|