C# logo

C#

Simple, general-purpose, object-oriented programming language for the .NET platform
57.6K
44.9K
+ 1
2.1K

What is C#?

C# (pronounced "See Sharp") is a simple, modern, object-oriented, and type-safe programming language. C# has its roots in the C family of languages and will be immediately familiar to C, C++, Java, and JavaScript programmers.
C# is a tool in the Languages category of a tech stack.

Who uses C#?

Companies
2654 companies reportedly use C# in their tech stacks, including Delivery Hero, Accenture, and Hepsiburada.

Developers
49887 developers on StackShare have stated that they use C#.

C# Integrations

Sentry, .NET, .NET Core, Azure Functions, and Blazor are some of the popular tools that integrate with C#. Here's a list of all 129 tools that integrate with C#.
Pros of C#
352
Cool syntax
293
Great lambda support
265
Great generics support
211
Language integrated query (linq)
180
Extension methods
94
Automatic garbage collection
89
Properties with get/set methods
84
Backed by microsoft
71
Automatic memory management
61
Amaizing Crossplatform Support
46
High performance
43
LINQ
38
Beautiful
35
Great ecosystem of community packages with Nuget
27
Vibrant developer community
24
Great readability
21
Dead-simple asynchronous programming with async/await
19
Visual Studio - Great IDE
17
Open source
16
Productive
15
Object oriented programming paradigm
15
Strongly typed by default, dynamic typing when needed
12
Easy separation of config/application code
11
Great community
10
OOPS simplified with great syntax
9
Cool
9
Operator overloading
8
Good language to teach OO concepts
8
High-performance
8
Events management using delegates
7
Unity
7
Linq expressions
6
Coherent language backed by an extensive CLR
6
Conditional compilation
5
Organized and clean
5
Top level code
5
Comprehensive platform libraries
4
Concise syntax, productivity designed
3
Lovely
2
Statically typed
1
Interfaces
1
Far more sleek and sphisticated than other languages
1
Sophisticated overall
0
Interfaces
Decisions about C#

Here are some stack decisions, common use cases and reviews by companies and developers who chose C# in their tech stack.

ABDUL MALIK
Needs advice
on
.NET.NET
and
Node.jsNode.js

I am doing my FYP Project using BlockChain. So I want to get advice that which technology would be best for my FYP either .NET or Node.js with Blockchain.

I have a good knowledge of C#.

See more
Needs advice
on
C#C#FlutterFlutter
and
ReactReact

Hello, I am Syed, and I am working as an IT Support Technician. I have completed my graduation in computer science. Now I want to transform my career in the computer science field as a software, application, or web developer. I have a habit of not sticking to one language or tool. I studied C++ as the first programming language, and later I had a little experience working with C#. I also have a basic understanding of Kotlin, JavaScript, Python, HTML, CSS, JavaScript, Flutter, and React.

How to stick to one language and tool and start developing, and which one? Please give me advice about it so I can kick-start my career as a software, application, or web developer.

Thanks in advance. I am keen to become a full-stack developer. Thanks in Advance.

See more
Needs advice
on
IntelliJ IDEAIntelliJ IDEA
and
NeovimNeovim

I have a strong familiarity with Jetbrains products, having used most of them since around 2015. However, in the past 6 months, I have started transitioning to Neovim as my primary "IDE". This is due to the extensive nature of my work, where I would typically load a different JetBrains product for each programming language I was working with. I wanted to reduce the amount of RAM I was using and have an easier time exporting my setup to weaker hardware.

My current setup, which is still a work in progress, consists of Neovim, tmux, and a few other applications. It took me a while, but I now feel much more comfortable working with this setup than I did with Jetbrains products. In the past, I often had to change my workflow or struggle with some of the tooling provided by JetBrains.

While I haven't worked with Java in a production environment for a few years, I have been working with TypeScript, PHP, Python, C++, and C#. Neovim works well for almost everything, but I do encounter some issues when working with .NET. In these cases, JetBrains Rider seems to be a better fit for C#, and I hope to resolve these issues. I also have an extensive ruleset setup (naming schemes and whatnot) in the JetBrains ecosystem that I have yet to find a suitable alternative of enforcement in Neovim.

However, I am now facing the prospect of returning to a Java stack at work. I'm wondering whether I should continue with Neovim and invest more time in configuring it and researching more about its Language Server Protocol (LSP) capabilities, or if I should return to IntelliJ and not waste the effort. Can Neovim be as good as, or almost as good as, IntelliJ for Java development? Talking about Kotlin is a plus, but my focus is on Java and potentially working with the Spring ecosystem.

I have used the JetBrains' vim plugin for about 2 years. It does not hold a candle to using nvim. Probably this shouldn't affect the question much, but: I am a Linux/Windows guy, however, I will be forced to use macOS at work.

See more
Needs advice
on
HangfireHangfire
and
QuartzQuartz

Hi, we are using Quartz v2 in our legacy project and we now are creating a stack for a new project that is similar to our legacy, Going from .NET 4.8 to .Net6. We have a windows service to run the Quartz for job schedulers.

Topic: Job scheduling compatible with net 6 web application (C#) Candidates: Quartz.net 3.6.2 vs Hangfire 1.7.8

We liked the dashboard and simple usability of Hangfire against the only batch process of Quartz v2. I didn't find anything related to dashboards for v3. In summary, they seem similar in a practical way as dependent jobs, scheduled jobs by cron format, but I guess quartz.net isn't focused on monitoring and logging, and it is a concern to us now that we can use it for better maintainability.

See more
Christian Worley
Needs advice
on
IntelliJ IDEAIntelliJ IDEA
and
JetBrains RiderJetBrains Rider

I'm full stack with a focus on front-end, primarily React, and Angular. At my last company I was supporting both Java and open other source back-ends, IntelliJ IDEA met my needs perfectly. At my current company I need to support both open source and C# on the back-end. I have been provided a VS license and have been debating either using VS just for back-end C# work and continuing with IntelliJ for front-end, or switching to JetBrains Rider for fullstack? I've read that Rider is great for C# but I'm unsure if Rider will provide the same front-end capabilities that I currently enjoy with IntelliJ.

See more
Needs advice
on
C#C#JavaJava
and
JavaScriptJavaScript

I studied C lang/C++ and G (lab view) for 2 years at my previous university, the university where I study now teaches me C#, I am interested in web development (frontend and backend), embedded (for the Internet of Things, for Arduino), mobile development (Android, iOS), game development, The science of data and ML. I studied mathematics (discrete mathematics, analytical geometry, mathematical analysis).

I ask the developers for advice: what should I learn to be able to do everything I want (websites, games, drivers, sockets, desktop applications and others)?

I am looking for a universal solution, and I am limited in training time, and the number of vacancies is also important.

P.S. I used Google translator

See more

C# Alternatives & Comparisons

What are some alternatives to C#?
Java
Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!
Python
Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Golang
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
See all alternatives

C#'s Followers
44920 developers follow C# to keep up with related blogs and decisions.