{"id":7935,"date":"2023-08-01T10:51:53","date_gmt":"2023-08-01T01:51:53","guid":{"rendered":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7935"},"modified":"2023-08-01T13:05:16","modified_gmt":"2023-08-01T04:05:16","slug":"c-for-c-programmers","status":"publish","type":"post","link":"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7935","title":{"rendered":"C# for C++ programmers"},"content":{"rendered":"<h1>C# for C++ programmers<\/h1>\n<p>C# \ubb38\ubc95\uc774 \ub3c5\ud2b9\ud55c\uac8c \uc880 \uc788\uc5b4\uc11c \uacf5\ubd80\ub3c4 \ud560 \uacb8 \uc7a0\uc2dc \uc815\ub9ac\ud574 \ubd05\ub2c8\ub2e4.<\/p>\n<h2>Hello, World!<\/h2>\n<pre><code class=\"language-csharp\">using System;\nnamespace Hello.World {\n    class HelloWorld {\n        public static void Main() {\n            Console.WriteLine(&quot;Hello, World!&quot;);\n        }\n    }\n}<\/code><\/pre>\n<h2>\ubcc0\uc218 \uc0dd\uc131<\/h2>\n<pre><code class=\"language-csharp\">int i, j;\nfloat f;\ndouble d;\nchar ch = &#039;A&#039;;\n\nConsole.WriteLine(ch);\n\ni = 1;\nConsole.WriteLine(i.ToString()); \/\/ \uae30\ubcf8\ud615\ub3c4 \ud074\ub798\uc2a4\uc774\ub2e4.<\/code><\/pre>\n<h2>\ubb38\uc790\uc5f4<\/h2>\n<pre><code class=\"language-csharp\">string str1 = &quot;abc&quot;;\nstring str2 = &quot;def&quot;;\nint i = 5;\nstring str3 = str1 + str2 + i;<\/code><\/pre>\n<h2>\ubc30\uc5f4<\/h2>\n<pre><code class=\"language-csharp\">int []a = new int[4];\nint []b = new int[]{1, 2, 3, 4};\nint []c = {1, 2, 3, 4};<\/code><\/pre>\n<p>\ub2e4\ucc28\uc6d0 \ubc30\uc5f4<\/p>\n<pre><code class=\"language-csharp\">\/\/ 1\ucc28\uc6d0\nint []a = new int[3];\n\n\/\/ 2\ucc28\uc6d0\nint [ , ]b = new[2, 3];\nint [ , ]b2 = {\n    {10, 20},\n    {30, 40},\n    {50, 60}\n};\n\n\/\/ 3\ucc28\uc6d0\nint [ , , ]c = new int[2, 3, 4];<\/code><\/pre>\n<p>\ubc30\uc5f4\uc758 \uc0ac\uc774\uc988\uac00 \uc77c\uc815\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">int [][]a = new int[3][];\na[0] = new int[3]{1, 2, 3};\na[1] = new int[2]{4, 5};\na[2] = new int[1]{6};\n\nint [][]a = new int[][]{\n    new int[]{1, 2, 3},\n    new int[]{4, 5},\n    new int[]{6}\n};<\/code><\/pre>\n<pre><code class=\"language-csharp\">int []a = new int[4];\nint b = a.length;<\/code><\/pre>\n<h2>enum<\/h2>\n<pre><code class=\"language-csharp\">enum A{a, b, c, d, e};\nConsole.WriteLine(A.a);<\/code><\/pre>\n<h2>bool<\/h2>\n<pre><code class=\"language-csharp\">bool a = (x &gt; y);<\/code><\/pre>\n<h2>? :<\/h2>\n<pre><code class=\"language-csharp\">bool b = false;\nint a = b ? 1 : 2;<\/code><\/pre>\n<h2>cast<\/h2>\n<pre><code class=\"language-csharp\">int a = 3;\nint b = 2;\nint c = (int) 1 \/ b;<\/code><\/pre>\n<h2>if else<\/h2>\n<pre><code class=\"language-csharp\">if (\uc870\uac74)\n{\n    \/\/ \ub0b4\uc6a9\n}\nelse if (\uc870\uac74)\n{\n    \/\/ \ub0b4\uc6a9\n}\nelse\n{\n    \/\/ \ub0b4\uc6a9\n}<\/code><\/pre>\n<h2>for<\/h2>\n<pre><code class=\"language-csharp\">int i;\nfor(i = 0; i &lt; 3; i++) {\n    \/\/ \ucc98\ub9ac\n}<\/code><\/pre>\n<p>break, continue \uc0ac\uc6a9\uac00\ub2a5<\/p>\n<h2>foreach<\/h2>\n<pre><code class=\"language-csharp\">int []nums = new int[5];\nforeach(int a in nums)\n{\n    Console.WriteLine(a);\n}<\/code><\/pre>\n<p>break, continue \uc0ac\uc6a9\uac00\ub2a5<\/p>\n<h2>while<\/h2>\n<pre><code class=\"language-csharp\">while (\uc870\uac74)\n{\n    \/\/ \ucc98\ub9ac\n}<\/code><\/pre>\n<p>break, continue \uc0ac\uc6a9\uac00\ub2a5<\/p>\n<h2>switch<\/h2>\n<pre><code class=\"language-csharp\">switch(\uc2dd) {\n    case \uac121:\n        \ucc98\ub9ac\n        break;\n    case \uac122:\n        \ucc98\ub9ac\n        break;\n    default:\n        \ucc98\ub9ac\n        break;\n}<\/code><\/pre>\n<h2>class<\/h2>\n<h3>class \uc815\uc758<\/h3>\n<pre><code class=\"language-csharp\">class A {\n    public int a;     \/\/ \ud544\ub4dc(field)\n    int b;            \/\/ public \uc744 \uc0dd\ub7b5\ud558\uba74 private\n\n    public int add()\n    {\n        return a + b;\n    }\n}<\/code><\/pre>\n<h3>class \uc0dd\uc131<\/h3>\n<pre><code class=\"language-csharp\">A  a;\na = new A();\nA  a = new A();<\/code><\/pre>\n<h3>\uc18d\uc131(property, getter\/setter)<\/h3>\n<pre><code class=\"language-csharp\">usting System;\nclass A {\n    int _val;            \/\/ \ub0b4\ubd80 \ubcc0\uc218\ub294 &#039;_&#039; \ub85c \uc2dc\uc791\ud558\ub294 \uac83\uc774 \uc554\ubb35\uc801\uc778 \uaddc\uce59\n    public int val\n    {\n        get\n        {\n            return _val;\n        }\n        set\n        {\n            _val = value;\n        }\n    }\n\n    public val2 { get; set; } \/\/ \ub2e8\uc21c\ud788 getter\/setter \uc758 \uc874\uc7ac\ub9cc \ud45c\uc2dc\ud558\ub294 \uac83\ub3c4 \uac00\ub2a5\n}\n\nA a = new A();\na.val = 3;\nConsole.Write(a.val);<\/code><\/pre>\n<h2>\uc778\ub371\uc11c(indexer)<\/h2>\n<p>\ud0a4\uc6cc\ub4dc this \ub97c \uc0ac\uc6a9<\/p>\n<pre><code class=\"language-csharp\">using System;\nclass A {\n    int []_a = new int[2];\n    public int this[int i]\n    {\n        get\n        {\n            return _a[i];\n        }\n        set\n        {\n            _a[i] = value;\n        }\n    }\n}\n\nA a = new A();\na[0] = 1;\na[1] = 2;\nfor(int i = 0; i &lt; 2; i++)\n{\n    Console.Write(a[i]);\n}<\/code><\/pre>\n<h2>\uc0c1\uc18d<\/h2>\n<p>\uc0dd\uc131\uc790\uac00 \uc788\ub294 \uacbd\uc6b0, \ubd80\ubaa8 \ud074\ub798\uc2a4\uc758 \uc0dd\uc131\uc790\ubd80\ud130 \uc2e4\ud589\ub41c\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">class A\n{\n    public A()\n    {\n        Console.WriteLine(&quot;AAA&quot;);\n    }\n}\n\nclass B : A\n{\n    public B()\n    {\n        Console.WriteLine(&quot;BBB&quot;);\n    }\n}\n\nclass Program\n{\n    static void Main(string[] args)\n    {\n        B b = new();\n    }\n}<\/code><\/pre>\n<p>base \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \ubd80\ubaa8 \ud074\ub798\uc2a4\uc5d0 \ud30c\ub77c\ubbf8\ud130 \uc804\ub2ec<\/p>\n<pre><code class=\"language-csharp\">class A\n{\n    public int x;\n    public A(int a, int b)\n    {\n        x = a + b;\n    }\n}\nclass B : A\n{\n    public B(int c, int d) : base(c, d) { }\n}<\/code><\/pre>\n<p>new \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \ubd80\ubaa8 \ud074\ub798\uc2a4\uc758 \ud544\ub4dc\/\uc18d\uc131\uc744 \uc740\ub2c9\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">class A\n{\n    public int a = 10;\n}\nclass B : A\n{\n    new public int a = 30;\n    public void print()\n    {\n        \/\/ base \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \uc740\ub2c9\ub41c \ub9f4\ubc84\uc5d0 \uc811\uadfc\ud560 \uc218 \uc788\ub2e4.\n        Console.WriteLine(base.a);\n    }\n}<\/code><\/pre>\n<p>\uc624\ubc84\ub77c\uc774\ub4dc \ub418\ub294 \ud074\ub798\uc2a4\uc5d0 virtual \ud0a4\uc6cc\ub4dc\ub97c,<br \/>\n\uc624\ubc84\ub77c\uc774\ub4dc \ud558\ub294 \ud074\ub798\uc2a4\uc5d0 override \ud0a4\uc6cc\ub4dc\ub97c \uc9c0\uc815\ud574 \uc624\ubc84\ub77c\uc774\ub4dc \ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">class A\n{\n    public virtual void Test() { }\n}\n\nclass B : A\n{\n    public override void Test()\n    {\n        Console.WriteLine(&quot;BBB&quot;);\n    }\n}<\/code><\/pre>\n<p>abstract \ud0a4\uc6cc\ub4dc\ub97c \uc774\uc6a9\ud574 \ucd94\uc0c1\ud074\ub798\uc2a4\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">abstract class A\n{\n    public abstract void Test();\n}\n\nclass B : A\n{\n    public override void Test()\n    {\n        Console.WriteLine(&quot;BBB&quot;);\n    }\n}<\/code><\/pre>\n<h2>sealed \uc0c1\uc18d \ubd88\uac00 \ud074\ub798\uc2a4<\/h2>\n<pre><code class=\"language-csharp\">sealed class A\n{\n    \/\/ ...\n}<\/code><\/pre>\n<h2>\uc778\ud130\ud398\uc774\uc2a4<\/h2>\n<p>\ucd94\uc0c1\uba54\uc11c\ub4dc, \ucd94\uc0c1\uc18d\uc131, \ucd94\uc0c1\uc778\ub371\uc11c, \uc774\ubca4\ud2b8\ub9cc \uba64\ubc84\ub85c \uac00\uc9c8 \uc218 \uc788\ub2e4.<br \/>\n\ubaa8\ub4e0 \uba54\uc11c\ub4dc\ub294 public \uc774\uae30 \ub54c\ubb38\uc5d0 public \ud0a4\uc6cc\ub4dc\ub97c \uc0dd\ub7b5\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">interface A\n{\n    public abstract void a();\n    abstract int b\n    {\n        get;\n        set;\n    }\n}\nclass B : A{\n   public void a(){\n       ~~\n   }\n   public int prop{\n          get{\n               return b;\n         }\n         set{\n              b=value;\n         }\n    }\n}<\/code><\/pre>\n<p>\ubcf5\uc218\uc758 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uc0c1\uc18d\ud560 \uc218 \uc788\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">class X : A, B, C\n{\n    \/\/ ...\n}<\/code><\/pre>\n<p>\uc778\ud130\ud398\uc774\uc2a4\uc758 \uc0c1\uc18d\ub3c4 \uac00\ub2a5\ud558\ub2e4.<\/p>\n<pre><code class=\"language-csharp\">interface A\n{\n    \/\/ ...\n}\ninterface B : A\n{\n    \/\/ ...\n}<\/code><\/pre>\n<h2>\ub124\uc784\uc2a4\ud398\uc774\uc2a4<\/h2>\n<pre><code class=\"language-csharp\">namespace A\n{\n    class Abc\n    {\n        public void Test()\n        {\n            Console.WriteLine(&quot;AAA&quot;);\n        }\n    }\n}\n\nnamespace B\n{\n    class Abc\n    {\n        public void Test()\n        {\n            Console.WriteLine(&quot;BBB&quot;);\n        }\n    }\n}\n\nclass Program\n{\n    static void Main(string[] args)\n    {\n        B.Abc b = new();\n        b.Test();\n    }\n}<\/code><\/pre>\n<h2>\uc608\uc678\ucc98\ub9ac<\/h2>\n<pre><code class=\"language-csharp\">try\n{\n    \/\/ ...\n}\ncatch(\uc608\uc678\ud074\ub798\uc2a4\uba85  \ubcc0\uc218\uba85)\n{\n    \/\/ ...\n}\nfinally\n{\n    \/\/ ...\n}<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>C# for C++ programmers C# \ubb38\ubc95\uc774 \ub3c5\ud2b9\ud55c\uac8c \uc880 \uc788\uc5b4\uc11c \uacf5\ubd80\ub3c4 \ud560 \uacb8 \uc7a0\uc2dc \uc815\ub9ac\ud574 \ubd05\ub2c8\ub2e4. Hello, World! using System; namespace Hello.World { class HelloWorld { public static void Main() { Console.WriteLine(&quot;Hello, World!&quot;); } } } \ubcc0\uc218 \uc0dd\uc131 int i, j; float f; double d; char ch = &#039;A&#039;; Console.WriteLine(ch); i = 1; Console.WriteLine(i.ToString()); \/\/ \uae30\ubcf8\ud615\ub3c4\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.skyer9.pe.kr\/wordpress\/?p=7935\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[],"class_list":["post-7935","post","type-post","status-publish","format-standard","hentry","category-language"],"_links":{"self":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7935"}],"version-history":[{"count":3,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7935\/revisions"}],"predecessor-version":[{"id":7938,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/7935\/revisions\/7938"}],"wp:attachment":[{"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skyer9.pe.kr\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}