이것은 기본적인 질문 일 수 있지만 값 형식 목록을 일반 메서드로 전달할 때 원래 형식을 다시 원래 형식으로 캐스팅 할 수없는 이유는 무엇입니까? T에 아무런 제약이 없기 때문에제네릭 형식을 값 형식으로 캐스팅 할 수없는 이유는 무엇입니까?
가, 두 번째 오류가 첫 번째 오류로Inverse<Person>(new List<Person>());
같은 것을 방지하기 위해
IList<int> list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8 };
Inverse<int>(list);
public void Inverse<T>(IList<T> list)
{
for (i = 0; i <= list.Count/2; i++)
{
int a = list[i] as Int16; //=> does not work
int b = (int)list[i]; //=> does not work either
}
}
나는 Convert를 추천하지 않겠다. 이 경우 개체의 ToString을 호출 한 다음 구문 분석합니다. 그리고 모자 T가 숨길 수 있다는 것을 알지 못합니다. – Euphoric