C# Online Editor
Free online C# editor with real-time execution, .NET support, object-oriented programming, and collections. Perfect for learning C#, enterprise development, and software engineering.
Loading editor...
Features
C# Execution
Execute C# code directly in your browser with .NET runtime support
Object-Oriented Programming
Full support for classes, inheritance, interfaces, and modern C# features
.NET Libraries
Access to .NET Base Class Library and common frameworks
Console Output
Real-time console output with comprehensive error handling
Collections Support
Work with List, Dictionary, and other generic collections
Code Sharing
Share C# code snippets and applications with others
Frequently Asked Questions
How to get started with C# programming?
Let's start with C# basics and object-oriented programming:
using System;
class Program
{
static void Main()
{
// Basic output
Console.WriteLine("Hello, C#!");
// Variables and data types
string name = "C# Programming";
int number = 42;
bool isTrue = true;
double pi = 3.14159;
// String interpolation
Console.WriteLine($"Welcome to {name}!");
Console.WriteLine($"Number: {number}, Pi: {pi:F2}");
}
}
Our editor provides real-time execution and IntelliSense support.
How to work with classes and objects in C#?
Learn object-oriented programming fundamentals:
using System;
// Define a class
public class Person
{
// Properties
public string Name { get; set; }
public int Age { get; set; }
// Constructor
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Method
public void Greet()
{
Console.WriteLine($"Hello, I'm {Name} and I'm {Age} years old.");
}
}
class Program
{
static void Main()
{
// Create objects
Person person1 = new Person("Alice", 25);
Person person2 = new Person("Bob", 30);
// Use objects
person1.Greet();
person2.Greet();
}
}
Practice object-oriented concepts in our interactive environment.
How to work with collections in C#?
Learn to use List, Dictionary, and other collections:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// Working with List
var fruits = new List<string> { "Apple", "Banana", "Orange" };
fruits.Add("Grape");
Console.WriteLine($"Fruits count: {fruits.Count}");
// Iterate through list
foreach (var fruit in fruits)
{
Console.WriteLine($"- {fruit}");
}
// Working with Dictionary
var scores = new Dictionary<string, int>
{
["Alice"] = 95,
["Bob"] = 87
};
scores["Charlie"] = 92;
foreach (var kvp in scores)
{
Console.WriteLine($"{kvp.Key}: {kvp.Value}");
}
}
}
Practice with various collection types and operations.
How to handle exceptions in C#?
Learn proper error handling patterns:
using System;
class Program
{
static void Main()
{
// Basic try-catch
try
{
int result = Divide(10, 0);
Console.WriteLine($"Result: {result}");
}
catch (DivideByZeroException ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"Unexpected error: {ex.Message}");
}
finally
{
Console.WriteLine("Cleanup code runs here.");
}
// Using validation
if (TryParseInt("123", out int number))
{
Console.WriteLine($"Parsed number: {number}");
}
}
static int Divide(int a, int b)
{
if (b == 0)
throw new DivideByZeroException("Cannot divide by zero");
return a / b;
}
static bool TryParseInt(string input, out int result)
{
return int.TryParse(input, out result);
}
}
Practice robust error handling in our safe environment.
How to work with collections and generics?
Master C# collections and generic programming:
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
// List<T>
var fruits = new List<string> { "Apple", "Banana", "Orange" };
fruits.Add("Mango");
Console.WriteLine("Fruits: " + string.Join(", ", fruits));
// Dictionary<TKey, TValue>
var ages = new Dictionary<string, int>
{
["Alice"] = 25,
["Bob"] = 30,
["Charlie"] = 35
};
foreach (var kvp in ages)
{
Console.WriteLine($"{kvp.Key} is {kvp.Value} years old");
}
// Generic methods
var numbers = new List<int> { 1, 2, 3, 4, 5 };
var doubled = ProcessList(numbers, x => x * 2);
Console.WriteLine("Doubled: " + string.Join(", ", doubled));
}
static List<TResult> ProcessList<T, TResult>(List<T> input, Func<T, TResult> processor)
{
var result = new List<TResult>();
foreach (var item in input)
{
result.Add(processor(item));
}
return result;
}
}
Explore type-safe generic programming.
How to work with DateTime and string manipulation?
Master time and string operations in C#:
using System;
using System.Text;
class Program
{
static void Main()
{
// DateTime operations
DateTime now = DateTime.Now;
DateTime future = now.AddDays(30);
Console.WriteLine($"Current time: {now:yyyy-MM-dd HH:mm:ss}");
Console.WriteLine($"30 days later: {future:yyyy-MM-dd}");
// String manipulation
string text = " Hello, C# World! ";
string cleaned = text.Trim().ToUpper();
string[] words = cleaned.Split(' ');
Console.WriteLine($"Original: '{text}'");
Console.WriteLine($"Cleaned: '{cleaned}'");
Console.WriteLine($"Word count: {words.Length}");
// StringBuilder for efficiency
var sb = new StringBuilder();
for (int i = 1; i <= 5; i++)
{
sb.AppendLine($"Line {i}: {DateTime.Now.Millisecond}");
}
Console.WriteLine(sb.ToString());
}
}
Practice essential string and time operations.
What C# version and limitations apply?
Our C# editor runs C# 12+ with .NET 8+ via WASI with specific constraints:
Version & Environment:
- C# 12+ with .NET 8+ WASI support
- Memory limit: ~1GB for applications
- Console applications only
Key Limitations:
- No file I/O operations
- No network operations (HttpClient, etc.)
- No database connections
- No multi-threading or async/await
- No Task.Delay, Task.WhenAll, or threading
- No WPF/WinForms UI frameworks
- Limited reflection in AOT mode
- No unsafe code or P/Invoke
- No subprocess execution
Available Features:
// Core .NET libraries available
using System;
using System.Collections.Generic;
using System.Text;
// Collections, generics, basic .NET features supported
Focus on algorithms, data structures, and business logic.
Where can I learn more about C#?
Explore these official resources and learning materials:
Official Documentation:
- Microsoft C# Documentation - Complete C# reference
- .NET 8 Documentation - .NET platform guide
- C# Language Reference - Language specifications
- .NET API Browser - Standard library reference
Learning Resources:
- Microsoft C# Learning Path - Structured learning
- C# Coding Conventions - Style guide
- C# Programming Guide - Comprehensive guide
- C# Corner - Community tutorials and articles
Enterprise Development:
- ASP.NET Core Documentation - Web development
- Entity Framework Core - Object-relational mapping
- Azure .NET Documentation - Cloud development
These resources cover C# from basics to enterprise-level .NET development!