C#의 이상한 정수 캐스팅

  • Post Author:
  • Post Category:
  • Post Comments:5 Comments
  • Post last modified:April 20, 2009

간단한 정수 캐스팅 하나!

long longValue = 1;
int intValue = longValue;

이 코드는 컴파일러 오류를 발생시킨다.

오류 CS0266: 암시적으로 ‘long’ 형식을 ‘int’ 형식으로 변환할 수 없습니다. 명시적 변환이 있습니다. 캐스트가 있는지 확인하십시오.

역시 간단한 상황!

var longList = new List<long> {1, 2, 3};
foreach(int intValue in longList)
{

}

어이없게도 컴파일 된다. 이 때문에 응용프로그램을 실행한 후에야 버그를 발견했다. 왜 이런 걸까?

Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
follow me
  • @hellodhlyn 아니 누가???
    21 hours ago
  • 남자다움과 멍청한 건 엄밀히 달라. 남들까지 위험한 상황에 몰아넣지 말라구
    2 days ago
  • 보더콜리가 횡단보도에서 헛짖었다. 뭔가 흥미로운 걸 발견한 모양인데 갑작스러우니 나를 포함해 여러 사람이 놀랐다. 그런데 그 놀라움이 멎쩍었을까? 옆에 있는 20대 초반 남자애가 개에게 위협적으로 소리를 지… https://t.co/8LL7OfX6mr
    2 days ago
Buy me a coffeeBuy me a coffee
×
Kubernetes, DevSecOps, AWS, 클라우드 보안, 클라우드 비용관리, SaaS 의 활용과 내재화 등 소프트웨어 개발 전반에 도움이 필요하다면 도움을 요청하세요. 지인이라면 가볍게 도와드리겠습니다. 전문적인 도움이 필요하다면 저의 현업에 방해가 되지 않는 선에서 협의가능합니다.
Latest Posts