라이트코인은 찰리 리(Charlie. Lee)라는 MIT 공대 출신의 개발자에 의해서 개발되었습니다. 그는 비트코인의 다양한 문제점을 해결하기 위해 라이트코인을 고안했는데요. 비트코인은 해쉬율이 올라가면서 고성능 컴퓨터가 아니면 채굴이 힘들어지고 이로인해 채굴이 과열되는 현상과 이로인한 트랙션이 올라가는 문제를 해결하는 코인입니다. 라이트코인은 P2P 네트워크를 이용한 거래방식으로 개인간에 암호화폐를 주고 받을 수 있고, 거래시 발생하는 수수료가 0에 가깝게 설계되어 있습니다. 비트코인의 여러 단점을 전략적으로 이용한 코인이라고 볼 수 있겠습니다.


라이트닝 네트워

라이트코인은 라이트닝 네트워크라는 기술을 개발하여 기존의 비트코인의 느린 처리 속도를 개선하였습니다. 라이트닝 네트워크(Lighting Network)란 블록에 기록하는 방식을 블록 내부가 아닌 외부에서 처리하고 최종 결과만 내부에 기록하는 방식인데요. 블록 내부에서 블록의 사이즈를 키워 기록하는 방식이 (On-Chain Scaling)이고, 블록 외부에서 이를 처리하면 (Off-Chain Scaling)이라고 하는데요. 라이트코인의 거래량이 커지게 되면 오프체인을 이용해 별도의 채널을 만들어 모든 거래 내역을 기록하고 관리하여 최종 결과만 온체인에 기록하는 방식이 라이트닝 네트워크입니다. 이로 인해 라이트코인의 블록체인에 영향을 주지 않기 때문에 기존의 처리시간이 오래걸리던 문제를 해결할 수 있게 된 것입니다. 

채굴방식

라이트코인은 비트코인과 매우 유사한 코인으로 채굴방식도 비슷한다. 라이트코인의 채굴방식은 PoW라는 합의 알고리즘을 사용하는데, 이는 비트코인과 같은 CPU 연산을 통한 방식입니다. 여기서 비트코인은 SHA-256을 채택하였지만, 라이트코인은 Scrypt를 채택해 블록 생성 시간을 단축하고 최대 코인 수를 4배로 증가시켰습니다. 비트코인의 경우 블록 생성 시간이 10분이였지만 라이트코인은 2.5분마다 새로운 블럭이 생성이 됩니다. 따라서 블록체인에 정보를 기록하는 블록체인의 특성상 비트코인보다 많은 거래량을 기록할 수 있습니다. 결국 총 발행량은 비트코인에 비해 4배 많은 8400만개가 됩니다. 

아토믹스왑 (Atomic Swap)

라이트코인은 여러가지 기술을 이용해서 비트코인과 공생하려는 노력을 하고 있는데요. 그 중에 하나가 바로 아토믹스왑입니다. 아토믹 스왑은 거래소를 통해서 코인을 교환하는 형태가 아닌 블록체인 지갑을 이용해서 코인을 교환하는 형태인데요. 예를 들어 라이트코인 100개를 가지고 있는 사람이 다른 사람의 비트코인으로 교환하고 싶을때 아토믹 스왑을 사용하게 됩니다. 이렇게 되면 특정 비율로 라이트코인을 비트코인으로 비트코인을 라이트코인으로 교환하는 것이 가능해지죠. 비트코인은 전송속도가 느리고 트랜젝션이 많이 일어나 실생활에서 결제용으로 사용하기 힘들지만, 자산을 보관하는데 좋은 수단입니다. 이때 라이트코인이 비트코인의 부족한 부분을 채워 실제 결제를 이용할때는 라이트코인을 사용하고 자산을 보관하는 형태는 비트코인으로 사용하면 공생관계가 가능해지죠. 

이런 기술로 인해 라이트코인으로 결제하는 라이트페이가 출시된다는 이야기가 있었는데 코인의 가격하락으로 인해 현재는 무한정 연기된 상태입니다. 또 개발자인 찰리리가 고점에서 라이트코인 보유량을 모두 매각하면서 신뢰성을 많이 잃어버리게 되었습니다. 하지만 라이트코인 개발진영에서는 지금도 꾸준히 개발하고 있기 때문에 미래를 기대해볼만 하다고 볼 수 있겠네요.

리또속이라는 말을 탄생시키면서 많은 사람들의 관심을 한몸에 받고 있는 코인이 있습니다. 바로 리플이죠. 요즘은 리플가격이 재미없어서 리플에 대한 관심이 많이 떨어지긴 했지만, 앞으로 리플의 행보에 따라 또 다시 가격 변동이 생길 수 있기 때문에 많은 사람들이 예의주시하고 있습니다. 그렇다면 리플이 어떤 코인이길래 비트코인, 이더리움에 이어 3대장이라고 불리는 이유를 알아보겠습니다.

 


리플의 시작은 라이언 푸가 리플페이라는 시스템을 개발하면서 시작되었습니다. 리플페이는 국제 송금 서비스를 목적으로 개발되었고, 이 당시에는 블록체인 기술이 도입된 시스템이 아니였습니다. 이후 2012년에 크리스 라슨(Chris Larsen)과 제드 맥케일럽(Jed McCaleb)에 의해 블록체인이 도입된 현재의 리플이 탄생하게 됩니다. 이들은 리플 트랜잭션 프로토콜인 RTXP를 개발하고 이를 이용하면 실시간으로 송금이 가능하고 수수료가 거의 없는 시스템을 구축할 수 있다는 장점이 있어, 기존의 은행간 송금 시스템에 대적할만한 기술을 개발하게 되었습니다. 이후 이들은 리플 트랜잭션 프로토콜 (RTXP)을 이용한 암호화폐인 리플을 탄생시킵니다. 


RTXP의 기술력은 현재 많은 은행들에게 인정을 받았습니다. 전 세계의 화폐를 몇 초 내로 송금할 수 있는 아주 혁신적인 기술이죠. 이로인해 국제결제시스템망(SWIFT)을 대체할 새로운 대안으로 주목받고 있는데요. 세계 1만여개의 은행과 기업이 연결된 SWIFT는 하루 3000만건이 넘는 결제가 이루어기 때문에 보안과 신뢰성이 매우 중요하기 때문에 기존의 시스템이 아닌 리플이 대안으로 주목 받는 이유입니다. 리플사는 총 발행량의 62%를 보유하고 있기 때문에 리플이 나쁜 의도로 사용될 수 없다고 합니다. 현재 리플 네트워크에는 세계 주요 금융권 75개가 참여하고 있고, 엄청난 속도로 확장하고 있습니다. 또 리플의 발행량은 1억개로 추가 발행이 되지 않는다는 특징이 있습니다. 만약 전세계 사람들이 한정된 리플 코인을 현금으로 사용하게 된다면, 지금의 가치보다 더 큰 가치를 지닌 코인이 되겠죠. 아마 그때의 가치는 지금은 상상할 수 없는 가치일 것 입니다.


리플은 한국 최대의 암호화폐 거래소인 빗썸에 가장 먼저 상장되었는데요. 상장 당시 가격이 200원쯤 되었는데, 순식간에 800원이 넘어가면서 많은 사람들의 기대를 모았지만, 순식간에 하락하면서 많은 투자자들이 물리게 되었습니다. 제가 아는 동생도 이날 크게 물려서 큰 손실을 보았었죠.. 하지만 2017년 12월까지 꾸준히 가격을 회복하여 4000원이 넘는 가격으로 고점을 찍었죠. 최근 리브라 코인이 등장하면서 리플의 입지가 좁아질 것이라고 예상하는 분들이 늘어나고 있는데요. 리브라 코인과 리플은 성격이 매우 다르고 리플이 선점한 금융 송금 서비스라는 특징은 현재까지 어느 코인도 범접할 수 없을 정도로 막강하기 때문에 앞으로 리플코인은 장기적으로 투자하면 큰 수익을 얻을 수 있지 않을까 생각합니다.

가상화폐는 접목된 기술에 맞게 그 세대가 나뉘는데요. 이더리움의 경우 대표적인 2세대 블록체인으로 1세대 블록체인에 스마트 컨트렉트라는 기술이 도입된 가상화폐입니다. 1세대 블록체인은 지분 증명과 분산된 데이터로 기록을 일관성 있게 유지하고 위변조가 불가능하다는 것이 특징이라면, 2세대 블록체인의 경우 DApp을 만들 수 있는 플랫폼의 특징을 갖고 있습니다. 이더리움은 비탈릭이라는 개발자와 찰스 호스킨스라는 개발자가 주축으로 개발되었고, 찰스 호스킨스의 경우 이후 에이다 개발에 참여하면서 사실상 이더리움의 개발자는 비탈릭으로 알려져있습니다.


DApp이란?

DApp은 Decentralized Application의 약자로 비트코인과 같이 탈중앙화를 꿈꾸며 안드로이드의 어플과 같은 블록체인 어플이라고 보시면 됩니다. 이더리움 네트워크에서 운영되며 다양한 기능의 DApp을 만들 수 있다는 것이 2세대 블록체인의 특징입니다.

DApp은 블록체인에 대한 지식만 있다면 누구나 만들 수 있습니다. 이 DApp을 개발하는 회사들은 발행할때 이더리움을 받게 됩니다. 예를 들면 내가 전기코인을 이더리움 DApp으로 만들었다고 하면 내가 만든 전기코인 100개를 이더리움 1개를 받고 팔게 됩니다. 그렇게 되면 자연스럽게 이더리움에 대한 수요가 올라가면서 가격이 상승하게 됩니다. 하지만 DApp을 개발하는 회사들이 어려워지게 되면 자금을 확보하기 위해 시장에 이더리움을 판매하기 때문에 가격 하락에도 큰 영향을 주게 되겠죠. 이더리움을 통해서 많은 코인들이 만들어졌으니 정말 대단한 코인이죠. 그리고 DApp은 메인넷을 통해서 독자적인 코인으로 독립하는 경우도 많이 있습니다. 대표적으로 퀀텀이나 이오스가 있습니다. 이런 코인들은 현재는 독립적은 플랫폼을 만들고 그들의 코인에 DApp을 개발할 수 있도록 구현해 또 다른 DApp이 생기게 되는 것이죠.

 


Smart Contract 

이더리움의 가장 큰 특징인 스마트 컨트렉트입니다. 1세대 블록체인인 비트코인의 경우 단순 자산을 교환하고 이 교환된 기록이 저장되는 것에 불과했다면, 이더리움의 스마트 컨트렉트는 장부를 만들어 여러 계약들을 가능하게 했다는 것이 특징입니다. 여기서 계약이라고 하면 이런건데요. 예를 들어 제가 금 100톤을 구매하고 싶어서 중국의 왕모씨에게 금 100톤을 보내달라고 했습니다. 그런데 왕모씨는 네가 누군지 알고 거래하냐 이런 경우가 생기는데 이런 거래를 이더리움이 대신해주죠. 스마트 컨트렉트에 금 100톤을 받으면 돈을 지불한다는 계약을 만드는 것이죠. 그렇게 되면 금 100톤이 들어오는 것이 확인되는 순간 잔금이 왕모씨에게 송금되는 것이죠. 즉 블록체인에 계약된 내용은 특정 조건을 만족하면 스스로 이행되는 것이죠. 이는 앞으로 모든 네트워크에서 활용될 수 있는데요. 블록체인이 자산과 화폐로써 사용되기 위해서 꼭 필요한 기능이였죠. 이로 인해 사용자간에 분쟁이 줄어들고 공정한 거래가 가능해지지만 네트워크가 무거워지는 등 다양한 문제가 생기면서 이를 해결하기 위한 다른 코인들이 만들어지게 되었습니다.


이더리움(ETH)은 복잡한 과거가 있는데요. 스마트 컨트렉트라는 기술을 도입하면서 장점도 존재했지만, 해킹에 노출되어 문제가 생겼습니다. 이더리움의 취약점을 이용해 약 360만개의 이더리움이 해킹당하는 사건이 있었습니다. 이는 전체 발행된 이더리움의 10%에 해당하는 수준으로 이더리움에 대한 신뢰가 하락하면서 엄청난 가격 하락이 있었습니다. 이로인해 해킹 당한 블록은 무효처리를 하게 됩니다. 하지만 이를 인정하지 않는 개발자 그룹이 있었고 이더리움은 이더리움 클래식과 이더리움으로 나뉘면서 하드포크가 일어나게 되었습니다. 현재는 하드포크 시점으로 두 코인 모두 큰 문제없이 운행되고 있습니다.    

요즘 비트코인 가격이 많이 오르면서 평소 비트코인에 관심을 갖고 있던 분들이 투자를 고민하고 있습니다. 지금 사면 늦은게 아닐까.. 이런 생각을 하고 있으신 분들을 위해서 비트코인이 탄생하고 지금까지의 가격을 살펴보겠습니다. 투자는 스스로 판단해서 하는 것이기에 신중히 판단해주세요.

비트코인은 2009년 처음 만들어졌습니다. 초기에는 게임에서 사용될 돈으로만 생각했고 가격도 1달러가 안되었습니다. 그 이후 사람들에게 큰 주목을 받지 못했습니다. 크고 작은 상승과 하락을 반복하다가 비트코인이 크게 오르기 시작한 시기는 2013년부터입니다. 이때는 제가 대학생이였는데요. 수업 시간에 비트코인에 대한 이야기를 들었고 관심이 생겨서 알아봤습니다. 당시 가격이 20~30만원 사이였던 것으로 기억합니다. 이후 비트코인이 특정 집단에 의해 자금을 세탁하거나 환전하는 방식으로 사용되면서 큰 상승세를 타게 되었습니다.
이후 2014년 큰 상승장이 왔고 10배가 넘는 가격 상승을 가져왔습니다. 이후 마운트콕스라는 일본 거래소 해킹 사태 이후 엄청난 하락을 맞이하면 2~3년정도 큰 암흑기가 찾아오게 됩니다. 하지만 이 암흑기가 지나고 슬금슬금 오르던 비트코인은 전고점을 돌파하면서 다시 한번 많은 사람들에게 관심을 받게 되고 이후 2017~2018년동안 엄청난 상승을 만들었습니다. 
이 상승이 끝나고 또 다시 하락하면서 2018년까지 꾸준히 하락하면서 많은 사람들에게 손실을 입히고 요즘 들어 다시 상승하고 있습니다. 앞으로 비트코인이 상승할지 하락할지 그 누구도 알 수 없습니다. 비트코인은 특정 세력이나 이익집단에 의해서 시장이 움직일 수 있는 아주 약한 시장입니다. 가격이 상승한다고 정확히 왜 상승하는지 아무도 알 수 없습니다. 대부분 경제가 후행성지표이지만 비트코인은 더더욱 그렇다고 볼 수 있죠.


비트코인의 총 발행량은 2100만개입니다. 2100만개중 현재 1900만개정도가 발행되었고, 이후 일부는 콜드 월렛에 들어가 있고, 이중 일부는 사용자의 부주의로 인해 분실된 경우도 있지만.. 현재 가격으로 비트코인의 시총을 계산해보면 1700만개 X 1460만원 (2019.06.29 일 기준) = 248조 2천억이 됩니다. 이는 현재 삼성전자 시총인 280조 6천억보다 작은 숫자입니다. 삼성전자는 한 나라의 기업의 시총이고 비트코인은 미래의 자산으로 인정 받을 수 있는 암호화폐의 시총입니다. 물론 이 둘을 절대적으로 비교할 수 없겠죠. 하지만 전세계적으로 비트코인이 사용되고 돈이 된다면 이정도 시총으로 전세계에서 통용되는 화폐의 어느정도 가치를 대신할 수 있을까요? 
이번에 금과 한번 비교해볼까요? 금은 전세계에서 가치를 저장하고 보증하는 수단이죠. 현재 금의 시총이 약 9000조가 넘는데요. 비트코인의 가치와 비교할 수 없을정도로 차이가 크게 나요. 하지만 금은 가치를 저장하는 수단으로 이동이 어렵고 보관이 힘들기 때문에 달러가 발행되는 계기가 되었죠. 현재는 각 나라 중앙은행에서 국가의 금을 보유하고 있지만, 앞으로 전세계에서 비트코인이 금과 같은 위치가 된다면 현재의 시총으로 이를 대변하기 어려울 것이라 판단됩니다. 
이건 비트코인이 금과 같은 역할을 하게 될때의 이야기입니다. 만약 비트코인이 그냥 단순히 도박성 돈놀이일뿐이다라고 결정이 난다면 비트코인의 가격은 엄청난 하락을 맞으며 역사에서 사라지겠죠. 많은 사람들이 튤립버블을 이야기하며 비트코인은 거짓된 사기극이라고 하였는데요. 
과연 미래는 어떤 선택을 할지 의문입니다. 

 

 

4차 산업혁명이 뜨거운 21세기에 자동차의 패러다임이 바뀌고 있습니다. 이동 수간이 발달하면서 어릴때 날아다니는 자동차를 상상했었는데요. 아직 날아다니는 자동차는 아니지만 똑똑한 자동차가 나타나고 있습니다. 바로 자율주행 자동차입니다. 자율주행이란 사람이 직접 운전하지 않고 자동차가 스스로 상황을 판단하여 안전하게 목적지까지 가는 기능입니다. 즉 스스로 주행한다는 것이죠. 


자율주행 기술은 과거부터 있던 기술이였습니다. 지금은 그 기술의 종착지에 가다왔다고 할 수 있죠. 자율주행은 0단계에서 5단계로 나뉘는데요. 각 단계별로 어떤 기술이 들어있는지 알아보겠습니다.

0단계는 기술이 없는 단계입니다.

0단계의 경우 운전자가 모든 상황을 판단하여 결정하는 단계입니다. 아무런 기술이 없는 단계라고 볼 수 있습니다. 과거 자동차를 생각하면 됩니다. 0단계의 경우 어떠한 조작도 자동으로 되는 것이 없기 때문에 방향이나 브레이크 등을 제어해야했습니다. 

1단계는 운전자의 역할을 일정부분 덜어주게 됩니다.

대표적인 1단계 기술으로 크루즈 모드가 있습니다. 교통정체가 없는 구간에서 일정한 속도로 달리게 해주는 모드로 정주행모드라고 합니다. 크루즈 모드의 경우 오르막이나 내리막 상관없이 일정한 속도로 주행하는 것이 가능합니다. 또 긴급제동장치도 1단계에 속합니다. 갑자기 앞에 사고가 났거나 운전자의 실수로 브레이크를 밟지 못하는 경우 스스로 제동하게 됩니다. 또 충돌경고음도 포함됩니다. 후진을 하는 경우 물체가 가까이 있으면 경고음이 발생하는 것을 말하죠. 이 단계에서는 대부분 센서를 통해 정해진 규칙으로만 움직이기 때문에 운전자의 역할을 어느정도 대신하는 것이고, 아직 자율주행이라고 보기는 어렵습니다.


2단계부터는 일부 자율주행 요소가 들어가게 되었습니다.

2단계부터는 자동차가 스스로 방향을 조절하거나 속도를 조절할 수 있습니다. 따라서 차선을 벗어나지 않고 일정하게 주행이 가능합니다. 즉 앞의 상황을 인지하고 차선을 따라서 스스로 움직이는게 가능한 것이죠. 테슬라 차량에 오토파일럿 기능을 생각하면 정확히 일치합니다. 이 경우 차선을 벗어나지 않을 뿐 아니라 앞에서 가고 있던 차의 속도가 줄어든다면 같이 감속하여 일정한 거리를 유지하게 됩니다. 하지만 도로 상황에 따라 차선을 인식하지 못하거나 시스템에 문제가 생기면 바로 사고로 이어지기 때문에 운전자의 주의가 필요한 단계입니다. 관련된 사고 영상은 검색하면 정말 많이 나옵니다.


  3단계는 교통신호와 도로 상황을 자동차가 인식하기 시작하는 단계입니다.

구글의 자회사인 웨이모에서 최근 발표한 자율주행차량이 3단계에 속합니다. 스스로 교통신호와 도로 상황을 인지하고 판단합니다. 또 갑작스러운 장애물이 등장하더라도 이를 인식하기 때문에 사고에 대처할 수 있습니다. 얼마전 상암에서 열린 자율주행 페스티벌에서 많은 분들이 체험해봤는데요. 5G를 기반으로 정확하고 빠르게 상황을 판단한다고 홍보하면서 열렸는데요. 실제 도로의 일부 구간을 차단하여 테스트하면서 문제 없이 종료되었죠. 


4단계는 완전한 자율주행 단계입니다.

4단계부터는 운전자가 직접 개입하지 않고 목적지만 설정하면 목적지까지 스스로 움직이게 됩니다. 이를 위해서 많은 기업들이 노력하고 있습니다. 기존 자동차 시장의 판도를 바꿀 기술은 4단계부터라고 보시면 됩니다. 

5단계는 무인자동차입니다.

 무인자동차가 되면 운전석이란 개념이 사라지게 됩니다. 모든 것을 스스로 하고 사람과 대화를 하면서 목적지를 설정하게 됩니다. 또 핸드폰으로 자동차를 호출할 수 있게 됩니다. 예를 들어 가족들과 여행을 가려고 할때 핸드폰으로 4인승 차량 1시까지 와주세요. 라고 하면 가장 가까운 자동차가 집 앞까지 와서 대기하고 있는 것이죠. 또 여행지에 도착하면 그곳에서 가장 가까운 승객을 태우기 위해 자동차 스스로 움직입니다.

이렇게 되면 기존의 산업이 완전히 바뀌게 되겠죠. 우선 택시가 사라지게 됩니다. 또 자동차를 구매하는 것이 아닌 공유하는 것으로 개념이 바뀌게 됩니다. 자동차 제조사들도 더 이상 기존의 디자인이 아닌 승객을 위한 공간을 만드는 디자인으로 변화할 것 입니다. 자율주행기술은 상상만 하던 미래의 이동수단이 아닌 이제 현실이 될 날이 얼마 남지 않았네요.  

C# 에서 많이 사용하는 Dictionary에 대해서 이야기하겠습니다.

Dictionary 란 단어의 뜻은 사전이죠. 

사전에는 ㄱ,ㄴ,ㄷ,ㄹ 과 같이 키워드가 있고

해당 키워드를 기준으로 원하는 정보를 찾아요.

 

Dictionary도 이와 비슷합니다.

Dictionary에는 Key와 Value가 있고

이 Key와 Value를 통해서 데이터를 저장하고 찾기도 합니다.


예를 들어 전화번호부를 Dictionary를 이용해서 만든다고 해볼까요?

 

김민수 010-5323-4303

임시양 010-3837-3943

박만덕 010-5839-3482

이렇게 3명의 전화번호가 딕셔너리에 저장되어 있다고 가정하겠습니다.


우선 PhoneNumbers 라는 Dictionary를  선언해주겠습니다.

Key는 string으로 이름이 들어갑니다. Value는 string으로 전화번호가 들어가죠.

[ ] 사이에 Key를 입력하고 해당 Value를 넣어줍니다.

이렇게 하면 우리가 선언한 Dictionary에는 3명의 전화번호가 저장되어있고 이 전화번호는 이름을 통해서 찾을 수 있습니다.

데이터를 추가하는 또 다른 방법으로 Add 함수를 이용할 수 있습니다.


이번에 우리가 입력한 데이터를 핸들링 하는 방법을 알아보겠습니다.

해당 딕셔너리에 우리가 찾고 싶은 Key가 있는지 확인하기 위해서 사용하는 함수는 ContainsKey입니다.

ContainsKey라는 함수를 이용해서 찾고 싶은 Key를 입력하면 Dictionary에서 Key가 존재하는지 확인하고 그 결과를 반환합니다. 만약 찾았다면 true를 찾지 못했다면 false를 반환하겠죠.

이외에도 ContainsValue라는 함수도 있습니다. 사용방법은 ContainsKey와 같고 반환 값도 같습니다. 만약에 ContainsKey를 이용해 Key가 존재하는지 확인했다면 []에 해당 Key를 입력하여 데이터를 가져옵니다. Key로 데이터를 가져올때는 get; set;이므로 데이터를 가져올 수 있고, 위에서 사용한 것처럼 데이터를 설정하는 것도 가능합니다.


두번째로 알아볼 내용은 정렬인데요. Dictionary는 Key나 Value를 기준으로 정렬하는 것이 가능합니다.

전화번호부를 만들때 아무렇게나 입력된 데이터를 정렬하는데 아주 좋은 기능이죠.

OrderBy라는 함수를 이용합니다.

위와 같이 김민수, 임시양, 박만덕이 Key로 저장되어 있을때 가나다 순으로 정렬하면 김민수, 박만덕, 임시양 순서가 되겠죠. 이럴때 OrderBy 함수를 사용하고 item의 Key값으로 정렬을 해줍니다. (만약 Value로 정렬하고 싶다면 Value를 써주면 됩니다.)

이렇게 되면 결과는 다음과 같습니다.

내림차순으로 정렬하고 싶다면 OrderBy 대신에 OrderByDescending를 사용하면 됩니다. 이밖에 GroupBy 함수도 존재해서 특정 조건을 이용해 원하는 Item을 가져올 수 있습니다.


Dictionary는 List나 배열과 같이 인덱스를 이용하여 데이터를 찾을 수 없습니다. 따라서 일반적인 반복문을 이용하는 것은 불가능한데요. 이럴때 사용하는 것이 foreach입니다.

foreach를 이용하면 다음과 같이 사용가능하고요.

Dictionary에 데이터가 정렬된 순서대로 item를 반환합니다.

따라서 Key에는 이름이 저장되고 Value에는 전화번호가 저장되겠죠.

+ Recent posts