This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| c_sharp_vs_java [2015/07/28 06:24] – [Event] ledyx | c_sharp_vs_java [2021/02/07 04:22] (current) – [C# vs Java] ledyx | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| = C# vs Java = | = C# vs Java = | ||
| - | {{tag>C-Sharp | + | {{tag>C# Java}} |
| <fs 25px> | <fs 25px> | ||
| Line 25: | Line 25: | ||
| == Primitive Types == | == Primitive Types == | ||
| + | * C#은 모든 Type이 객체! | ||
| * Java는 모든 Data Type이 부호 있는(Signed) 수이다. 그에 반해 C#은 부호 없는(unsigned) 수를 지원한다! | * Java는 모든 Data Type이 부호 있는(Signed) 수이다. 그에 반해 C#은 부호 없는(unsigned) 수를 지원한다! | ||
| * byte는 signed를 지원한다. | * byte는 signed를 지원한다. | ||
| + | |||
| ^ Data Type ^ Size | ^ Data Type ^ Size | ||
| Line 36: | Line 38: | ||
| * Java와 마찬가지로 byte(1byte)를 지원하고, | * Java와 마찬가지로 byte(1byte)를 지원하고, | ||
| * 큰 수를 다루는 Type에 차이가 있다. (Java는 BigDecimal(32byte), | * 큰 수를 다루는 Type에 차이가 있다. (Java는 BigDecimal(32byte), | ||
| + | |||
| ^ Data Type ^ Size ^ Range ^ | ^ Data Type ^ Size ^ Range ^ | ||
| Line 73: | Line 76: | ||
| = Method 활용 = | = Method 활용 = | ||
| + | |||
| + | **기본적으로 Java와 동일하게 Method의 Argument로 전달되는 값은 <fc # | ||
| + | 단, C#은 키워드를 통해 Call by reference를 이용할 수 있다! | ||
| + | |||
| + | |||
| == 여러 개의 반환 값이 필요할 때 == | == 여러 개의 반환 값이 필요할 때 == | ||
| * 아래 두 방법 모두 Parameter로 넘긴 값을 반환 받지 않고도 저장 가능하다! | * 아래 두 방법 모두 Parameter로 넘긴 값을 반환 받지 않고도 저장 가능하다! | ||
| Line 1366: | Line 1374: | ||
| </ | </ | ||
| - | <sxh csharp ; highlight:[9,13,14]> | + | <sxh csharp ; highlight:[10,14,15]> |
| + | /* Ver.1 */ | ||
| using System; | using System; | ||
| Line 1392: | Line 1401: | ||
| </ | </ | ||
| + | <sxh csharp> | ||
| + | /* Ver.2 */ | ||
| + | using System; | ||
| + | |||
| + | namespace ConsoleApplication2 | ||
| + | { | ||
| + | class Program | ||
| + | { | ||
| + | public static void Main(string[] args) | ||
| + | { | ||
| + | MyEventManager.sendMessageEvent += MyEventManager_sendMessageEvent; | ||
| + | MyEventManager.SetOnSendMessage(" | ||
| + | } | ||
| + | |||
| + | static void MyEventManager_sendMessageEvent(string message) | ||
| + | { | ||
| + | Console.WriteLine(message); | ||
| + | } | ||
| + | } | ||
| + | |||
| + | class MyEventManager | ||
| + | { | ||
| + | public delegate void sendMessage(string message); | ||
| + | public static event sendMessage sendMessageEvent; | ||
| + | |||
| + | public static void SetOnSendMessage(string message) | ||
| + | { | ||
| + | if (sendMessageEvent != null) | ||
| + | sendMessageEvent(message); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| Line 1476: | Line 1518: | ||
| = Visual Studio 2013 사용 Tip = | = Visual Studio 2013 사용 Tip = | ||
| + | |||
| # Eclipse처럼 Method 자동완성(Intelligence) 사용시 곧바로 자동 소괄호+매개 변수 설명을 보고싶다면 ** Visual Assist X**를 사용하면 된다. < | # Eclipse처럼 Method 자동완성(Intelligence) 사용시 곧바로 자동 소괄호+매개 변수 설명을 보고싶다면 ** Visual Assist X**를 사용하면 된다. < | ||
| # Eclipse의 **syso, Ctrl+Space**를 치면 **System.out.println()**이 자동생성되는 것처럼 VS에도 같은 기능으로 **코드 조각**이라는 기능이 있다. | # Eclipse의 **syso, Ctrl+Space**를 치면 **System.out.println()**이 자동생성되는 것처럼 VS에도 같은 기능으로 **코드 조각**이라는 기능이 있다. | ||
| * 예) cw, Ctrl+Space => Console.WriteLine(); | * 예) cw, Ctrl+Space => Console.WriteLine(); | ||
| * 더 많은 예시는 https:// | * 더 많은 예시는 https:// | ||
| + | |||
| = Eclipse vs Visual Studio (IDE 단축키) = | = Eclipse vs Visual Studio (IDE 단축키) = | ||
| + | |||
| |< | |< | ||
| ^ ^ Eclipse | ^ ^ Eclipse | ||