diff --git a/docs.it4i/software/csc.md b/docs.it4i/software/csc.md new file mode 100644 index 0000000000000000000000000000000000000000..df231ece1717627f8bec28381a729e4d1cf4e02c --- /dev/null +++ b/docs.it4i/software/csc.md @@ -0,0 +1,78 @@ +# CSharp + +C# is available on the cluster. Activate C# by loading the Mono module: + +```console +$ ml Mono +``` + +## Examples + +### Hello World + +Copy this code to new file hello.cs: + +```csc +using System; + +class HelloWorld { + static void Main() { + Console.WriteLine("Hello world!!!"); + } +} +``` + +Compile the program and make *Windows executable*. + +```console +$ mcs -out:hello.exe hello.cs +``` + +This command should not return any error status. You can try to remove one of the curly brackets to get error output: + +```console +csc.cs(7,246): error CS1525: Unexpected symbol `end-of-file +Compilation failed: 1 error(s), 0 warnings +``` + +Now run the program: + +```console +$ mono hello.exe +Hello world!!! +``` + +### Interactive Console + +Type: + +```console +$ csharp +Mono C# Shell, type "help;" for help + +Enter statements below. +csharp> +``` + +Now you are in interactive mode. You can try following example. + +```csc +csharp> using System; +csharp> int a = 5; +csharp> double b = 1.5; +csharp> Console.WriteLine("{0}*{1} is equal to {2}", a,b,a*b); +5*1.5 is equal to 7.5 +csharp> a == b +false +``` + +Show all files modified in last 5 days: +```csc +csharp> using System.IO; +csharp> from f in Directory.GetFiles ("mydirectory") + > let fi = new FileInfo (f) + > where fi.LastWriteTime > DateTime.Now-TimeSpan.FromDays(5) select f; +{ "mydirectory/mynewfile.cs", "mydirectory/script.sh" } +``` + +For more informations look at [Mono documentation page](http://www.mono-project.com/docs/). diff --git a/mkdocs.yml b/mkdocs.yml index 881f5e024bd6117fad1710d2be54fb6236b9760e..c60b9a2fc4bcb77766da059648009d91ca8e8363 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -138,6 +138,7 @@ pages: - Trilinos: software/numerical-libraries/trilinos.md - 'Programming Languages': - Java: software/java.md + - C#: software/csc.md - 'Phys': - LMGC90: salomon/software/phys/LMGC90.md - 'Tools':