반응형
소스 코드
Product.cs
namespace 집합_관계
{
public class Product
{
public string Name
{
get;
private set;
}
public int Price
{
get;
private set;
}
public string Company
{
get;
private set;
}
readonly int pn;
public int PN
{
get
{
return pn;
}
}
static int lastpn;
public Product(string name,int price,string company)
{
Name = name;
Price = price;
Company = company;
lastpn++;
pn = lastpn;
}
public override string ToString()
{
return Name;
}
}
}
Mall.cs
using System.Collections;
using System.Collections.Generic;
namespace 집합_관계
{
class Mall : IEnumerable<Product>
{
Dictionary<int, Product> pdic = new Dictionary<int, Product>();
public bool InProduct(Product product)
{
if(pdic.ContainsKey(product.PN))
{
return false;
}
pdic[product.PN] = product;
return true;
}
IEnumerator<Product> IEnumerable<Product>.GetEnumerator()
{
return pdic.Values.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return pdic.GetEnumerator();
}
}
}
Program.cs
//http://ehpub.co.kr
//실습으로 다지는 C#
//집합 관계 실습
using System;
namespace 집합_관계
{
class Program
{
static void Main(string[] args)
{
Mall mall = new Mall();
mall.InProduct(new Product("Escort C#", 5000, "언제나 휴일"));
mall.InProduct(new Product("실습으로 다지는 C#", 5000, "휴일"));
foreach(Product product in mall)
{
Console.WriteLine(product);
}
}
}
}
반응형
'C# > 실습으로 다지는 C#' 카테고리의 다른 글
[014] C# 직접 연관 관계(Direct Association) 실습 – 계산기, 사각형 (0) | 2020.04.09 |
---|---|
[013] C# 구성(Composition) 관계 실습 - 쇼핑 센터, 상품 (0) | 2020.04.08 |
[011] C# 일반화(Generalization) 관계 실습 - 포유류, 사자, 호랑이 (0) | 2020.04.08 |
[009] C# 학생 클래스 정의하기 - 캡슐화 실습 (0) | 2020.04.07 |
[008] C# 랜덤 값 맞추기 (0) | 2020.04.06 |