[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기
					
						꽁스짱					
																
							
							
							C#						
										
					
					0					
					
					3706
															
						
						
							2021.02.15 22:56						
					
				
			[C# 컬렉션 클래스]HashTable을 이용한 미니쇼핑카트 구현하기
해시테이블(Hashtable)은 키(key), 값(value) 쌍으로 된 자료를 다루는 데 용이하다. 배열과 차이점 이라면 배열이 자료에 접근하기 위해 인덱스를 사용하지만 해시테이블은 데이터베이스처런 키 값을 사용한다는 겂이다. 키 값은 어떤 형식도 가능하며 탐색 속고 또한 좋다. ArrayList에서 데이터 검색을 위해 이짂탐색을 수행하거나 리스트를 순회하지만 Hashtable은 키를 이용해 데이터를 빠르게 검색핚다. 그러므로 키는 NULL값을 가질 수 없지만 값은 NULL일 수 있다.
아래 예제는 해시테이블을 이용하여 간단히 쇼핑카트를 구현한 예문 이다.
using System;
using System.Collections.Generic;
using System.Collections;
namespace ConsoleApplication1
{
	class Cart
	{
		public string GCode { get; set; }
		public string GName { get; set; }
		public int Danga { get; set; }
		public int Cnt { get; set; }
		public int Total { get; set; }
	}
	class CartTest
	{
		public static void Main()
		{
			Hashtable cart = new Hashtable();
			Cart cart1 = new Cart();
			cart1.GCode = "1111";
			cart1.GName = "볼펜";
			cart1.Danga = 1000;
			cart1.Cnt = 5;
			cart1.Total = 5000;
			cart.Add("1", cart1);
			Cart cart2 = new Cart();
			cart2.GCode = "2222";
			cart2.GName = "사과";
			cart2.Danga = 2000;
			cart2.Cnt = 2;
			cart2.Total = 4000;
			cart.Add("2", cart2);
			////////////////////////장바구니 Display
			Console.WriteLine("==============================================");
			Console.WriteLine("CartNo 상품코드  상품명  단가  수량  합계금액");
			Console.WriteLine("==============================================");
			foreach (DictionaryEntry d in cart)
			{
				Cart c = (Cart)d.Value;				
				Console.WriteLine("{0}      {1}      {2}  {3:C}    {4:N0}    {5:C} ", 
					           d.Key, c.GCode, c.GName, c.Danga, c.Cnt, c.Total);
			}
		}
	}
}
[결과]
==============================================
CartNo 상품코드  상품명  단가  수량  합계금액
==============================================
1      1111      볼펜  \1,000    5    \5,000
2      2222      사과  \2,000    2    \4,000

 
															
