Difference between revisions of "Programming/C-Sharp"
m |
m |
||
Line 3: | Line 3: | ||
C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. Although originally developed by Microsoft for their own platform it has been standardized and a Linux version called MONO has been developed and matured. | C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. Although originally developed by Microsoft for their own platform it has been standardized and a Linux version called MONO has been developed and matured. | ||
− | The Mono project provides an open-source C# compiler, a complete open-source implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specification, and nearly complete implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. Note at this time Windows Presentation Foundation (WPF) does not exist. | + | The Mono project provides an open-source C# compiler, a complete open-source implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specification, and a nearly complete implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. Note at this time Windows Presentation Foundation (WPF) does not exist. |
Line 84: | Line 84: | ||
<pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;"> | <pre style="background-color: black; color: white; border: 2px solid black; font-family: monospace, sans-serif;"> | ||
[username@login01 ~]$ sbatch demo.job | [username@login01 ~]$ sbatch demo.job | ||
− | Submitted batch job | + | Submitted batch job 1291552 |
</pre> | </pre> | ||
− | == | + | == Next Steps == |
* [https://en.wikibooks.org/wiki/C_Sharp_Programming https://en.wikibooks.org/wiki/C_Sharp_Programming] | * [https://en.wikibooks.org/wiki/C_Sharp_Programming https://en.wikibooks.org/wiki/C_Sharp_Programming] |
Revision as of 12:27, 2 November 2022
Contents
Programming Details
C# is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming. Although originally developed by Microsoft for their own platform it has been standardized and a Linux version called MONO has been developed and matured.
The Mono project provides an open-source C# compiler, a complete open-source implementation of the Common Language Infrastructure including the required framework libraries as they appear in the ECMA specification, and a nearly complete implementation of the Microsoft proprietary .NET class libraries up to .NET 3.5. Note at this time Windows Presentation Foundation (WPF) does not exist.
Programming example
using System; using MPI; class Ring { static void Main(string[] args) { using (new MPI.Environment(ref args)) { Intracommunicator comm = Communicator.world; if (comm.Rank == 0) { // program for rank 0 } else // not rank 0 { // program for all other ranks } } } }
Modules Available
The following modules are available:
- module add mono/4.4.1
- module add mono/5.12.0
- module add mono/5.16.0.220
Compilation
The program would be compiled in the following way:
[username@login01 ~]$ module add mono/5.12.0 [username@login01 ~]$ mcs -out:cDEMO.exe cDEMO.cs
Usage Examples
Batch example
#!/bin/bash #SBATCH -J openmpi-single-node #SBATCH -N 1 #SBATCH --ntasks-per-node 28 #SBATCH -o %N.%j.%a.out #SBATCH -e %N.%j.%a.err #SBATCH -p compute #SBATCH --exclusive #SBATCH --mail-user= your email address here echo $SLURM_JOB_NODELIST module purge module add mono/5.12.0 export I_MPI_DEBUG=5 export I_MPI_FABRICS=shm:tmi export I_MPI_FALLBACK=no mono /home/user/CODE_SAMPLES/C-SHARP/cDEMO.exe
[username@login01 ~]$ sbatch demo.job Submitted batch job 1291552