C# EĞİTİMİ
C# Eğitimi, dili çalışma zamanını anlayarak kullanan geliştiriciler yetiştirir. Katılımcılar, dilin modern özelliklerini gerçek proje senaryolarında uygulama yetkinliği edinir.
Tip sistemi, asenkron programlama ve sorgulama konuları bir arada işlenerek temiz ve performanslı kod yazma alışkanlığı oturur. Konular, güncel dil dokümantasyonu temel alınarak ele alınır.
C# eğitimini şirketinize özel planlayalım. 0212 951 0608 · Teklif isteyin
Katılımcı Profili
Bu eğitim, .NET runtime'ını ve modern C# özelliklerini birlikte kullanmak isteyen rollere yöneliktir:
- .NET Geliştiriciler: Modern C# (nullable, record, pattern matching) kullanan mühendisler
- Backend Mühendisleri: ASP.NET Core ile API ve servis yazan ekipler
- Oyun Geliştiriciler: Unity ile C# kullanan game developer'lar
- Migration Ekipleri: .NET Framework'ten .NET'e geçiş yapan roller
- Solution Architect'ler: .NET tarafında çözüm mimarisi tasarlayanlar
Ön Gereklilikler
Bu eğitime katılım için aşağıdaki ön bilgiler önerilir:
- Herhangi bir dilde temel OOP (class, method, inheritance) deneyimi
- Visual Studio veya VS Code kullanım deneyimi
- Komut satırı (dotnet CLI) ile temel rahatlık
- Git ile sürüm kontrol kullanımı (clone, commit, branch)
- Temel HTTP ve JSON kavramlarına aşinalık
Süresi ve Tarihi
Süre: 4 gün. Bu süre standart program içindir; ek modüllere ve hedefe göre süre özelleştirilebilir.
Eğitim tarihleri ve saatleri, ekibinizin uygunluğuna göre birlikte planlanır.
Kazanımlar
Eğitim sonunda katılımcı, C#'ı sadece dil olarak değil, .NET runtime'ını anlayarak kullanır:
- Nullable reference type ile null sızıntısını compile-time'a alır
- async/await'i Task ve ValueTask ayrımıyla performanslı yazar
- LINQ'i deferred execution ve N+1 tuzaklarını bilerek kurar
- IEnumerable, IAsyncEnumerable ve IQueryable arasında doğru tip seçer
- Record, init-only property ve pattern matching ile immutable model tasarlar
- Source generator ile boilerplate'i build-time'a taşır
- BenchmarkDotNet ile mikro-benchmark yapar, regresyon tespit eder
C# Eğitimi Konuları
1. C# ve .NET - Modern Ekosistem
- .NET birleşimi: Framework, Core ve modern .NET yolu
- dotnet CLI ile proje üretimi ve build akışı
- Visual Studio, VS Code ve Rider seçimi
- Cross-platform deploy: Windows, Linux, macOS
2. Söz Dizimi ve Temel Tipler
- Value ve reference type ayrımı
- string, char, sayı tipleri ve sınırları
- Top-level statement ve file-scoped namespace
- String interpolation ve raw string literal
- Tuple, deconstruction ve ValueTuple
3. var, dynamic ve Type Inference
- var ile statik tip çıkarımı (compile-time)
- dynamic ile runtime dispatch ve maliyeti
- Implicit ve explicit cast kuralları
- Boxing/unboxing performans etkisi
4. Akış Kontrolü ve Pattern Matching
- if, switch, for, while, foreach
- switch expression ve pattern matching
- Property pattern ve recursive pattern
- is ve as operatörleri
- List pattern ve range pattern
5. Methods, Delegates ve Events
- Method imzası, ref, out, in parametreleri
- Optional ve named argument
- Extension method yazımı
- Delegate, Func, Action, Predicate
- Event ve EventHandler pattern
6. Class, Struct ve Record
- Class (reference) ve struct (value) farkı
- Record ile immutable veri modeli
- Record struct ve performans
- with expression ile non-destructive mutation
- Sealed class ve performans etkisi
7. OOP - Inheritance, Interface, Abstract
- Single inheritance ve interface composition
- Abstract class ve default interface method
- virtual, override, sealed, new modifier'lar
- Polymorphism ve dynamic dispatch
- Composition over inheritance prensibi
8. Property, Init-Only ve Auto-Property
- Auto-implemented property ve backing field
- init accessor ile immutable initialization
- required modifier (constructor zorunluluk)
- Computed property ve expression-bodied member
9. Nullable Reference Types
- Nullable reference type (NRT) ve compile-time uyarı
- ? işareti ile niyet bildirimi
- ! null-forgiving operator riski
- Null coalescing (??), null-conditional (?.)
- NRT migration: #nullable enable/disable
10. Generics ve Constraint
- Generic class, method ve interface
- Constraint: where T : class, struct, new(), interface
- Covariance ve contravariance
- Generic ile boxing önleme
11. Collection Framework
- List<T>, Dictionary<K,V>, HashSet<T> seçimi
- IEnumerable, ICollection, IList hiyerarşisi
- ReadOnlyCollection ve immutable koleksiyonlar
- Concurrent collections: ConcurrentDictionary, ConcurrentBag
- Collection expression ([1,2,3]) söz dizimi
12. LINQ - Deferred Execution
- Method ve query syntax
- Where, Select, GroupBy, Join, Aggregate
- Deferred execution ve multiple enumeration tuzağı
- Expression<Func<T>> ve LINQ to SQL/EF Core
- IQueryable ve IEnumerable arasındaki sınır
13. async/await - Threading Modeli
- Task ve Task<T> tabanlı asenkron model
- async/await söz dizimi ve state machine üretimi
- Task.Run, Task.WhenAll, Task.WhenAny
- ValueTask ile allocation azaltma
- IAsyncEnumerable ile async stream
14. ConfigureAwait ve SynchronizationContext
- SynchronizationContext nedir, nerede önemli
- ConfigureAwait(false) ile context capture bypass
- UI thread vs library kod farkı
- Deadlock pattern: .Result, .Wait() tuzağı
- CancellationToken ile iptal yönetimi
15. Exception Handling - try/catch/finally ve using
- try, catch, finally ve filter (when) kullanımı
- Exception hiyerarşisi ve özelleştirme
- throw vs throw ex (stack trace koruma)
- Custom exception sınıfı tasarımı
- Hata kodu ve exception arasında seçim
16. IDisposable, using ve Resource Pattern
- IDisposable arayüzü ve Dispose pattern
- using statement ve using declaration
- IAsyncDisposable ile asenkron temizlik
- Finalizer (~) ve GC etkileşimi
- SafeHandle ile native kaynak sarmalama
17. Reflection ve Attribute
- Type, MethodInfo, PropertyInfo reflection API'si
- Custom attribute tanımı ve okuma
- Activator.CreateInstance ile dinamik yaratım
- Performans maliyeti ve cache stratejisi
18. Span<T>, Memory<T> - Allocation-Free
- Span ile stack-allocated bellek dilimi
- Memory ile heap dilimi (async kullanım)
- String parsing'de allocation azaltma
- ArrayPool ve buffer yeniden kullanım
19. Source Generator
- Compile-time kod üretimi mantığı
- System.Text.Json, Logging gibi yerleşik generator'lar
- Incremental generator ve performans
- Roslyn analyzer ile entegrasyon
20. NuGet ve Paket Yönetimi
- NuGet.org ve özel feed yapılandırması
- Central Package Management (Directory.Packages.props)
- Floating version ve risk yönetimi
- Vulnerable package tespiti (dotnet list package --vulnerable)
21. CLR, IL ve JIT
- CLR (Common Language Runtime) görevleri
- IL (Intermediate Language) ve disassembly
- JIT (Just-In-Time) ve AOT (Ahead-Of-Time) derleme
- Garbage Collector: nesil, LOH, Server GC
- ReadyToRun ve startup optimizasyonu
22. File I/O ve Streams
- File, Directory, Path statik sınıfları
- FileStream, MemoryStream, NetworkStream
- StreamReader/Writer ve encoding
- System.Text.Json ile JSON serileştirme
- Async I/O ile büyük dosya işleme
C# EĞİTİMİ ile İlgili
Sıkça Sorulan Sorular ve Cevapları
C# eğitimini kurumumuza özel planlayabilir miyiz?
Evet. C# eğitiminin içeriği ve süresi sabit değildir; firmanızın öncelikleri ve katılımcı profiliniz doğrultusunda programı birlikte kurgular, tamamen kurumunuza özel olarak ilerleriz.
C# eğitimini hangi illerde veriyorsunuz?
C# eğitimini firmanızın bulunduğu yerde, kendi ofisinizde yerinde vermekteyiz; İstanbul, Ankara ve İzmir başta olmak üzere Türkiye'nin tüm illerine gelmekteyiz. Tercih eden kurumlara eğitimi canlı online olarak da sunmaktayız.
C# eğitimini online veriyor musunuz?
Evet. C# eğitimini canlı online formatta da vermekteyiz; ekran paylaşımı ve uygulamalı oturumlarla Türkiye'nin her ilinden katılım sağlanabilir. İçerik ve takvim yine kurumunuzun ihtiyacına göre planlanır.
C# eğitimi çalışanlarımızın seviyesine göre uyarlanıyor mu?
Evet. Eğitimin başında, ihtiyacınıza bağlı olarak bir seviye tespiti yapmakta ve katılımcıların mevcut bilgisine göre ilerlemekteyiz. Böylece konuya yeni başlayanlar da, deneyimli olanlar da aynı eğitimden verim alır.
C# eğitimi projemiz üzerinden ilerleyebilir mi?
Eğitim, kendi projeniz veya kullanım senaryonuz üzerinden ilerleyebilir. Bunun için teklif öncesinde projenizi bize iletmeniz ya da tarif etmeniz gerekmektedir; böylece eğitimi gerçek işinize göre kurgularız.
C# eğitmenleriniz hakkında bilgi alabilir miyiz?
Eğitmenlerimiz yazılım geliştirme alanında sahada deneyimli, C# ile gerçek projeler geliştirmiş yazılımcılardır. İhtiyacınıza ve hedefinize en uygun eğitmeni sizinle eşleştiriyoruz.
Katılımcılarımıza sertifika veriliyor mu?
Evet. Eğitimi tamamlayan katılımcılarımıza katılım sertifikası vermekteyiz. Sertifika, eğitimin adını ve katılımcının bilgilerini içerir; kurumunuzun talebine göre dijital veya basılı olarak iletilir.
C# eğitiminin fiyatı ne kadar?
C# eğitimi kurumlara özel planlandığı için sabit liste fiyatı yoktur. İstekleriniz ve kapsam doğrultusunda bir teklif hazırlayıp fiyatla birlikte size iletmekteyiz.
Ekibiniz için C# eğitim planını birlikte netleştirelim.
0212 951 0608 · Kurumsal teklif



