:C#으로 내 선택의 변수에 포인팅 나는 다음을 수행하려고 해요
bool Has_Unique_Index<T>(Indexed<T> obj)
{
byte type = Verify_Type<T>(obj);
List<Indexed<T>> list;
switch (type)
{
case 0: list = DataSource.Clients; break;
case 1: list = DataSource.Rentals; break;
case 2: list = DataSource.Cars; break;
case 3: list = DataSource.Faults; break;
}
foreach (var i in list)
{
if (i.Index == obj.Index)
return false;
}
return true;
}
(그들없이 사용 삼각형 브래킷은 HTML 무효로 사라지고 방법을 알아낼 수 없습니다) :
을그러나 컴파일러는 DataSource.x를 List (Indexed (T)) 형식으로 변환 할 수 없다고 알려줍니다.
Verify_Type (T) (obj)는 T가 List의 4 가지 옵션 중 하나임을 확인하므로 List (Indexed (T))는 괜찮을 것입니다.
- C#에서 switch 문 (또는 다른 방법)을 사용하여 내가 선택한 변수를 어떻게 가리킬 수 있습니까?
EDIT : DataSource.x는 List (Indexed (T)) 유형입니다.
EDIT2 : 사람들이 지적했듯이 실제로 소스는 List (Indexed (SOMECONCRETETYPE)) 유형입니다.
새로운 조건으로 반복해서 같은 조건을 쓰는 것을 싫어합니다. 그래도 JesseJames의 대답은 변수를 죽일 수있었습니다 :) – user2962533
OP 살인 변수가 마음에 들면 변수에 _need_를 입력하지 않아도됩니다. switch (Verify_Type (obj)) : –
@StephenKennedy 너무 많은 변수를 줄이는 것도 좋은 습관이 아닙니다 ... 조만간 디버깅하는 동안 다시 필요합니다 ;-) 그래서 내가 결과 헬퍼 변수. – t3chb0t