Mobile app version of vmapp.org
Login or Join
Pope3001725

: C# is a multi-paradigm, managed, object-oriented programming language created by Microsoft in conjunction with the .NET platform. C# is also used with non-Microsoft implementations (most notably,

@Pope3001725

C# is a multi-paradigm, managed, object-oriented programming language created by Microsoft in conjunction with the .NET platform. C# is also used with non-Microsoft implementations (most notably, Mono).

Versions 1.0/1.2 and 2.0 of C# were submitted and approved as both ECMA and ISO/IEC standards. As of December 2010, there are no ECMA or ISO/IEC specifications for C# 3.0 and 4.0, however language specifications are available from Microsoft (3.0 and 4.0 respectively).

The language's type system was originally static, with only explicit variable declarations allowed. However, the introduction of var (C# 3.0) and dynamic (C# 4.0) allow it to use type inference for implicit variable typing, and to consume dynamic type systems, respectively. Delegates (especially with lexical closure support for anonymous methods (C# 2.0) and lambda expressions (C# 3.0)) allow the language to be used for functional programming.

Compilation is usually to the Common Intermediate Language (CIL), which is then JIT-compiled to native code (and cached) during execution in the Common Language Runtime (CLR); however, options like Ngen (.NET) and AOT (Mono) mean this isn't the only option. Additionally, some frameworks (e.g. the Micro Framework) act as CIL interpreters, with no JIT.

Perhaps unusually, generics in C# are provided (in part) by the runtime, unlike (for comparison) C++ templates, or Java's generics (which use type-erasure).

With the combination of Microsoft .NET for Windows (desktop/server), Mono (desktop/server/mobile), Silverlight / Moonlight (browser/mobile), Compact Framework (mobile), and Micro Framework (embedded devices), it is available for a wide range of platforms.

Hello World

using System;
class Hello
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}


FAQs


What are the correct version numbers for C#?
Why is Random giving the same results every time?
Captured variables in loops
Why can't I convert List<Banana> to List<Fruit>?
Does C# pass objects by reference?
Why does the compiler complain about my conditional expression (a == b ? x : y)?
Why do I get a NullReferenceException? (Object reference not set to instance of object)
What's new in C# 4.0?


Resources


Specification
Wikipedia Article
Eric Lippert's blog
Programming Guide


Books


CLR via C#
C# in a Nutshell
C# in Depth
Accelerated C#
Head First C#
The C# Programming Language (3rd Edition, 4th Edition)
Framework Design Guidelines
Essential C# (4.0 (3rd Edition))
Pro C# 2010 and the .NET 4 Platform
MCTS Self-Paced Training Kit (Exam 70-536): Microsoft® .NET Framework 2.0 Foundation
C# how to program
visual C# .Net step by step

10% popularity Vote Up Vote Down


Login to follow query

More posts by @Pope3001725

0 Comments

Sorted by latest first Latest Oldest Best

Back to top | Use Dark Theme