상세 컨텐츠

본문 제목

C# 공부 병행, Java와 다른 규칙으로 보이는 것, 첫 번째!

C#

by Sam_Park 2022. 6. 5. 21:51

본문

내가 취직한 회사에서 사용하는 기술 스택이 C#,  ASP.NET, Microsoft SQL Server 이다. 

sql 관련 업무가 우선이긴 하지만 개발 관련도 조금 있을 거고, 추후 서버 관련 업무도 할 수 있다.

 

그래서 회사에서는 회사 솔루션 프로그램 관련 공부를 우선으로 하고, 

개인적으로는 sql 과 C# 을 시작하고, ASP.NET 으로 사이드 프로젝트를 만들어보는 것이 좋을 것 같다.

 

우선은 프로그래머스 lv1 내용을 C#으로 하나씩 풀어나가는 것을 하려고 하는데, 

 

다행인 것은 Java와 C#의 문법이 정말 비슷한 것 같다는 점이고,

아쉬운 점은 사용하는 규칙 자체가 다른 것도 보인다는 점인데, 이게 또 되게 실수를 많이 하게 될 것 같은 점이 다르다. 

 

Java에서는 class 명을 영어 대문자로 시작하고 메서드는 소문자로 시작한다.

class Solution {  // Java 
    public double solution(int[] arr) {
        double answer = 0;
        
        for(int i = 0; i < arr.length; i++){ // 이 부분! arr.length 소문자!
            answer += arr[i];
        }
        answer = answer/arr.length;
        return answer;
    }
    
  // 이외에도 import java.util.Arrays; 해서
  // Arrays.stream(nums).average().getAsDouble(); 를 해도 소문자이다.

 

 

반면, C#에서는 기본 메서드 명이 대문자로 시작하는 것으로 보인다... ㄷㄷ 

public class Solution {  // C#
    public double solution(int[] arr) {
        double answer = 0;
        
        for(int i = 0; i < arr.Length; i++){ // 여기 ! arr.Length 로 대문자로 실행한다!
        answer += arr[i]; 
        }
        answer= answer / arr.Length;
        return answer;
    }
}

--- 

using System.Linq; // import 를 C#에서는 using 으로 쓰는 것 같다!

public class Solution {
    public double solution(int[] arr) {
        return arr.Average();
    }
}

 

여러가지 다른 점이 많겠지만, 규칙, 용법적인 부분에서 '아차!' 하면서 자주 실수할 것 같은 내용이라서 기억을 좀 오래할 수 있도록 블로그에 써보고 있다. 

 

잘 해나가보자! 

댓글 영역