유형 대신 var를 사용해야하는 이유는 무엇입니까? [복제]
가능한 중복 :
ReSharper 및 var
ReSharper를 설치 한 후 가능한 경우 항상 var를 사용해야합니다 (예 : 경고).
UnhandledExceptionEventArgs ue = (UnhandledExceptionEventArgs) t;
ReSharper는 그것을
var ue = (UnhandledExceptionEventArgs) t;
나는 첫 번째 버전을 더 좋아한다. var 를 선호하는 이유가 있습니까? 더 나은 성능? 아무것도? 아니면 코드 스타일입니까?
실제로 코딩 스타일 일뿐입니다. 컴파일러는 두 변형 모두에 대해 정확히 동일하게 생성합니다.
성능 문제는 여기를 참조하십시오.
"경고"라고 말할 때 정확히 무엇을 의미합니까? 나는 보통 var를 사용하고 싶을 수도 있지만 경고만큼 가혹한 것은 아니라는 힌트를주는 것으로 나타났습니다 .
var와 성능 차이는 없습니다. 코드는 동일한 IL로 컴파일됩니다. 잠재적 인 이점은 가독성에 있습니다. 과제의 RHS에서 변수 결정 유형을 이미 명확하게 설정 한 경우 (예 : 캐스트 또는 생성자 호출을 통해) LHS에서도 이점이있는 이점은 무엇입니까? 그래도 개인적인 취향입니다.
R #에서 var 사용을 제안하지 않으려면 옵션을 변경하십시오. ReSharper에 대한 한 가지 : 매우 구성 가능합니다. :)
다른 사람들이 말했듯이 다음 중 하나를 사용할 때 컴파일 된 코드 (IL)에는 차이가 없습니다.
var x1 = new object();
object x2 = new object;
Resharper는 [제 생각에 첫 번째 예제를 두 번째 예제보다 읽기가 더 쉽기 때문에 경고한다고 가정합니다. 또한 유형의 이름을 두 번 반복 해야하는 이유는 무엇입니까?
다음을 고려하면 내가 의미하는 바를 얻을 수 있습니다.
KeyValuePair<string, KeyValuePair<string, int>> y1 = new KeyValuePair<string, KeyValuePair<string, int>>("key", new KeyValuePair<string, int>("subkey", 5));
대신 이것을 읽는 것이 더 쉽습니다.
var y2 = new KeyValuePair<string, KeyValuePair<string, int>>("key", new KeyValuePair<string, int>("subkey", 5));
에서 이 경우 그냥 코딩 스타일입니다.
의 사용은 var
익명 형식을 처리하는 경우에만 필요합니다.
다른 상황에서는 맛의 문제입니다.
참고 URL : https://stackoverflow.com/questions/4868477/why-should-i-use-var-instead-of-a-type
'Programing' 카테고리의 다른 글
프로그래밍의 비품은 무엇입니까? (0) | 2020.06.13 |
---|---|
List와 ArrayList의 차이점은 무엇입니까? (0) | 2020.06.13 |
“varargs 매개 변수에 대해 일반 T 배열이 만들어집니다”컴파일러 경고를 해결할 수 있습니까? (0) | 2020.06.13 |
성공 및 오류 대신 새 jQuery AJAX 코드에 .done () 및 .fail ()을 사용해야합니까 (0) | 2020.06.13 |
data.frame 2에 존재하지 않는 data.frame 1의 행을 찾으려면 두 개의 data.frame을 비교하십시오. (0) | 2020.06.12 |