is
연산자를 사용하여 형식을 확인할 때 변수를 초기화하기 위해 C# 7.0 구문을 사용하고 있습니다. 나는, 같은 변수 이름을 사용하려면이 같은 모든 시나리오에 대해 "동물", 말 :동일한 변수 이름을 사용할 때 is 연산자를 사용하여 변수를 초기화하면 오류가 발생합니다.
// Yes, polymorphism may be better. This is just an illustration.
if (item is Dog animal) { // ... }
else if (item is Cat animal) { // ... }
else if (item is Animal animal) { // ... }
else { // ... }
그러나, 내가 변수 이름이 둘러싸 범위에 사용되는라는 오류가 발생합니다. 이 문제를 해결할 방법이 있습니까? 나는 각 else if
문장마다 다른 변수 이름을 사용할 필요가 없다.