Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
C# supports a wide range of application types. Whatever kind of software you want to build, there's likely a workload for it. This article gives you an overview of the most common types of applications, with links to get started on each one.
Tip
New to programming? Don't worry about choosing a workload yet. Focus on learning the C# language first. You can explore these application types once you're comfortable with the basics.
Experienced developer? Jump directly to the workload that matches your goals. Each section links to the documentation and tutorials you need.
AI and machine learning
C# integrates with AI and machine learning tools:
- Agent Framework - Build agents and workflows for Azure, OpenAI, Anthropic, Ollama, and more.
- Foundry Tools - Access pre-built AI capabilities like vision, language understanding, and speech recognition.
- ML.NET - Build custom machine learning models in C# without requiring deep ML expertise.
Get started: ML.NET tutorials.
Web applications
Build web applications with ASP.NET Core, the cross-platform framework for creating modern web apps and APIs. You can build:
- Server-rendered web apps by using Razor Pages or MVC.
- Interactive web UIs by using Blazor, which lets you write client-side logic in C# instead of JavaScript.
- Web APIs and minimal APIs for backend services.
Get started: ASP.NET Core tutorials
Desktop applications
Use C# to build Windows desktop apps, and cross-platform desktop apps that run on Windows and macOS:
- .NET MAUI creates cross-platform desktop apps that run on Windows, macOS, Android, and iOS from a single codebase.
- Windows Presentation Foundation (WPF) builds rich Windows-only desktop apps with advanced graphics and data binding.
- Windows Forms provides a straightforward way to create Windows-only desktop apps with a visual designer.
Get started: .NET MAUI tutorials.
Mobile applications
Build native mobile apps for iOS and Android by using .NET MAUI. .NET MAUI lets you share code across mobile and desktop platforms while still accessing native device APIs for cameras, sensors, GPS, and more.
Get started: Build your first .NET MAUI app.
Cloud and microservices
C# is well suited for building cloud-native applications and microservices:
- Azure SDK for .NET provides libraries for working with Azure services like storage, messaging, and databases.
- Worker Services let you build long-running background services that run in the cloud or on-premises.
- Aspire streamlines building, running, deploying, debugging, and deploying distributed apps.
Get started: Get started with Azure and .NET.
Games
C# is one of the most popular languages for game development:
- Unity - The most widely used game engine for 2D and 3D games, uses C# as its scripting language.
- MonoGame - An open-source framework for creating cross-platform games.
- CryEngine - Supports C# for game scripting.
You can also use Visual Studio for game development with these engines.
Internet of Things (IoT)
Control devices and read sensor data by using the IoT libraries. You can run C# apps on devices like Raspberry Pi and other single-board computers to build IoT solutions.
Get started: IoT tutorials
Next steps
Now that you know what you can build, choose your next step:
- Learn the language: Start with the beginner C# tutorials to learn C# fundamentals.
- Explore C#: Read A tour of C# for an overview of key language features.
- Dive into fundamentals: Visit the C# fundamentals section for deeper coverage of the type system, object-oriented programming, and more.
- Coming from another language? See the roadmaps for Java, JavaScript/TypeScript, or Python developers.