C# basics
Types, control flow, methods, properties. The block every later topic builds on.
- int, double, string, bool
- var vs explicit types
- Methods and overloads
- Properties and auto-properties
- Nullable reference types
- string interpolation
C# · .NET · 1:1 · 60 MIN · FROM 59.99 €/H
Live with a senior dev who uses C# and Java in the same week. We translate Java reflexes into idiomatic C#, walk LINQ and async/await, and make ASP.NET Core feel familiar instead of foreign.
Dennis LIVE Senior Java · C# / .NET · 11 yrs industry responds ≤ 4 h Free first conversation →
Want to see the Java → C# translation first? View the Rosetta table →
Live from a real session
// LINQ + async, Java reflexes welcome public async Task<List<User>> GetActive() => await _db.Users .Where(u => u.IsActive) .OrderBy(u => u.Name) .ToListAsync();
Side-by-side translations of the patterns Java developers use ten times a day. Same intent, different idiom. Your muscle memory does not have to start over.
private String name;
public String getName() { return name; }
public void setName(String n) { name = n; } public string Name { get; set; } Auto-properties are first-class in C#. No boilerplate, and you can add validation later without changing every call site.
users.stream()
.filter(u -> u.isActive())
.map(User::getEmail)
.toList(); users.Where(u => u.IsActive)
.Select(u => u.Email)
.ToList(); Same shape, different verbs. `filter` → `Where`, `map` → `Select`, `collect(toList)` → `ToList()`. LINQ is evaluated lazily, just like Stream.
Optional<User> findUser(long id);
User? FindUser(long id);
Nullable Reference Types put the contract in the type, with compile-time warnings. No Optional wrapper, no `.orElseThrow()` ceremony.
@Override public boolean equals(Object o) { ... }
@Override public int hashCode() { ... } public record User(string Email, string Name);
C# records auto-generate value equality and a sensible `GetHashCode`. For DTOs and value objects, you stop writing equals/hashCode entirely.
CompletableFuture.supplyAsync(() -> fetch()) .thenApply(this::parse) .thenAccept(this::save);
var raw = await Fetch(); var parsed = Parse(raw); Save(parsed);
`async/await` reads like sequential code while still running asynchronously. No callback chain, no `.thenApply` ladders.
From your first Console.WriteLine to a small ASP.NET Core endpoint with LINQ on an in-memory list. We focus on what you actually need, not on a full Microsoft Learn track.
Types, control flow, methods, properties. The block every later topic builds on.
Classes, inheritance, interfaces. Close to Java, with a few sharper edges and helpers.
Where C# really pulls ahead of Java for everyday tasks: LINQ on lists, dicts and queries.
The async model that confuses Java devs first, then becomes their favourite C# feature.
A minimal REST endpoint, dependency injection, and how requests actually flow.
A dedicated translation track for anyone who already writes Java and wants to be productive in C# fast.
Concrete sessions, concrete artefacts. You decide after the first chat whether we run the full arc or jump straight to LINQ, async or ASP.NET Core.
We look at your code, exam or project. 30 min later we both know whether the gap is syntax, OOP, LINQ, async or just the new tooling.
Types, methods, properties, inheritance, interfaces. Drilled with small live exercises. If you come from Java we map the differences explicitly.
The session students remember. We replace ten loops with three LINQ chains and finally make GroupBy click.
The async model in pictures. Task, await points, where deadlocks come from, and how to write async code that does not lie about its execution order.
Build a small endpoint together. Routing, DI, model binding. Optional: first contact with Entity Framework Core.
We walk your real task and ship a version you can hand in or merge without explaining away the awkward parts.
I built Study IT because I have seen first-hand how computer-science teaching at university falls apart.
Our tutors are working developers, not student side-jobbers.
Reach me directly: marcel.schmidtpeter@study-it.education
Senior Java Software Engineer mit projektabhängigem C#/.NET-Einsatz. Er zieht den Sprachvergleich zu Java sauber und führt dich durch ASP.NET Core, LINQ und Collections.
„Programmieren versteht man, wenn man weiß, warum eine Lösung funktioniert. Mein Ziel: dass du Code nicht abschreibst, sondern selbst hinkriegst."
One session, an intensive block, or semester support. Same hourly rate, same senior tutor.
Java background, exam prep or IHK final exam? Map your goal to the right block.
15 minutes to talk, then you decide. Properties, LINQ, nullable types: the Java-to-C# translation runs in the background.