{"id":1352,"date":"2021-04-02T13:50:02","date_gmt":"2021-04-02T20:50:02","guid":{"rendered":"https:\/\/coderpad-staging.io\/?post_type=programming-language&#038;p=1075"},"modified":"2023-04-17T03:50:05","modified_gmt":"2023-04-17T10:50:05","slug":"csharp","status":"publish","type":"programming-language","link":"https:\/\/coderpad.io\/languages\/csharp\/","title":{"rendered":"C#"},"content":{"rendered":"\n<p>Our C# environment runs on Microsoft\u2019s cross-platform .NET Core runtime. The&nbsp;<code>System.Json<\/code>&nbsp;assembly is linked.<\/p>\n\n\n\n<p>You should define a&nbsp;<code>static void Main<\/code>&nbsp;on a class named&nbsp;<code>Solution<\/code>.<\/p>\n\n\n\n<p>Tests can be written in NUnit. Note that if you run NUnit tests, you should only use the test runner\u2019s main method, like so:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs shcb-wrap-lines\"><span class=\"hljs-keyword\">using<\/span> NUnit.Framework;\n<span class=\"hljs-keyword\">using<\/span> NUnitLite;\n<span class=\"hljs-keyword\">using<\/span> System;\n<span class=\"hljs-keyword\">using<\/span> System.Reflection;\n\n<span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Runner<\/span> {\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">int<\/span> <span class=\"hljs-title\">Main<\/span>(<span class=\"hljs-params\"><span class=\"hljs-keyword\">string<\/span>&#91;] args<\/span>)<\/span> {\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-keyword\">new<\/span> AutoRun(Assembly.GetCallingAssembly()).Execute(<span class=\"hljs-keyword\">new<\/span> String&#91;] {<span class=\"hljs-string\">\"--labels=All\"<\/span>});\n    }\n\n    &#91;<span class=\"hljs-meta\">TestFixture<\/span>]\n    <span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Dog<\/span> {\n        <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> String <span class=\"hljs-title\">bark<\/span>(<span class=\"hljs-params\"><\/span>)<\/span> {\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-string\">\"bark\"<\/span>;\n        }\n\n        &#91;<span class=\"hljs-meta\">Test<\/span>]\n        <span class=\"hljs-function\"><span class=\"hljs-keyword\">public<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">TestBarker<\/span>(<span class=\"hljs-params\"><\/span>)<\/span> {\n            Assert.AreEqual(<span class=\"hljs-string\">\"bark\"<\/span>, <span class=\"hljs-keyword\">new<\/span> Dog().bark());\n        }\n    }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>You should be able to run LINQ queries, like so:<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"C#\" data-shcb-language-slug=\"cs\"><span><code class=\"hljs language-cs shcb-wrap-lines\"><span class=\"hljs-keyword\">using<\/span> System;\n<span class=\"hljs-keyword\">using<\/span> System.Linq;\n\n<span class=\"hljs-keyword\">class<\/span> <span class=\"hljs-title\">Solution<\/span>\n{\n    <span class=\"hljs-function\"><span class=\"hljs-keyword\">static<\/span> <span class=\"hljs-keyword\">void<\/span> <span class=\"hljs-title\">Main<\/span>(<span class=\"hljs-params\"><span class=\"hljs-keyword\">string<\/span>&#91;] args<\/span>)<\/span>\n    {\n        <span class=\"hljs-keyword\">int<\/span>&#91;] numbers = { <span class=\"hljs-number\">5<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">9<\/span>, <span class=\"hljs-number\">8<\/span>, <span class=\"hljs-number\">6<\/span>, <span class=\"hljs-number\">7<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">0<\/span> };\n\n        <span class=\"hljs-keyword\">var<\/span> lowNums =\n            <span class=\"hljs-keyword\">from<\/span> n <span class=\"hljs-keyword\">in<\/span> numbers\n            <span class=\"hljs-keyword\">where<\/span> n &lt; <span class=\"hljs-number\">5<\/span>\n            <span class=\"hljs-keyword\">select<\/span> n;\n\n        Console.WriteLine(<span class=\"hljs-string\">\"Numbers &lt; 5:\"<\/span>);\n        <span class=\"hljs-keyword\">foreach<\/span> (<span class=\"hljs-keyword\">var<\/span> x <span class=\"hljs-keyword\">in<\/span> lowNums)\n        {\n            Console.WriteLine(x);\n        }\n    }\n}\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">C#<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">cs<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Your code is compiled and run with debug mode enabled.<\/p>\n","protected":false},"parent":0,"menu_order":0,"template":"","class_list":["post-1352","programming-language","type-programming-language","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language\/1352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/programming-language"}],"about":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/types\/programming-language"}],"wp:attachment":[{"href":"https:\/\/coderpad.io\/wp-json\/wp\/v2\/media?parent=1352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}