
Programare .NET
C# și F# ca două răspunsuri la aceleași probleme de inginerie.
Date
Despre carte
.NET modern, predat prin două limbaje care rezolvă aceleași probleme în moduri diferite. Prima jumătate construiește C# de la tipuri și structuri de control la proiectarea orientată pe obiecte, tipuri generice, LINQ și prelucrarea datelor XML, JSON și CSV. A doua jumătate trece la F# și la programarea funcțională: pattern matching, tipuri algebrice, colecții imuabile și tratarea erorilor în stil railway-oriented, încheind cu C# și F# lucrând unul lângă altul în aceeași soluție.
Fiecare capitol se încheie cu o aplicație practică, cu cod complet, rezultatul așteptat și o soluție de referință verificată într-un depozit însoțitor.
Cuprins
titluri în limba engleză
Part I · C#
- 1Introduction to the .NET PlatformA Brief History: From .NET Framework to Modern .NET · The Architecture of the .NET Platform · .NET Programming Languages · Development Environments · The Structure of a .NET Project
- 2Data Types, Variables, and Operators in C#The Structure of a C# Program · Primitive Data Types · Variables and Declarations · Type Conversions · Operators and Expressions · Value Types vs. Reference Types · Tuples and Deconstruction
- 3Control Structures and MethodsConditional Statements · Loops · Methods · Parameter Passing · Recursion · Comments and XML Documentation in Code
- 4Object-Oriented Programming in C#Classes and Objects · Class Members · Constructors · Access Modifiers · Static Members and Static Classes ·
recordandrecord structTypes - 5Inheritance, Interfaces, and PolymorphismInheritance · Abstract Classes and Abstract Methods · Interfaces · Polymorphism · Generic Types · Extension Members (C# 14) · Object-Oriented Design Principles: An Introduction to SOLID
- 6Collections, Lambda Expressions, and LINQArrays · Generic Collections · Delegates and Events · Lambda Expressions · LINQ Fundamentals · Advanced LINQ Operators
- 7Error Handling in C#The .NET Exception Mechanism · Common Exceptions · Throwing Exceptions:
throwandthrow ex· Creating Custom Exceptions · Error-Handling Best Practices - 8Data Processing with LINQ: XML, JSON, and CSVLINQ to XML · Working with JSON · Processing CSV Files · Transforming Between Formats
Part II · F#
- 9Introduction to Functional Programming with F#The Functional vs. the Imperative Paradigm · The Structure of an F# Program · Primitive Data Types in F# · Type Inference · The
OptionandTupleTypes · Defining and Calling Functions - 10Functions and Pattern Matching in F#Higher-Order Functions · Partial Application and Currying · Function Composition · Recursion and Tail Recursion · Pattern Matching ·
matchExpressions in Functions: ThefunctionKeyword - 11Algebraic Data Types in F#Records · Discriminated Unions · Units of Measure · Type Abbreviations · Modules and Code Organization
- 12Collections and Data Processing in F#Lists ·
ArrayandResizeArray· Sequences (Seq) and Lazy Evaluation ·MapandSet· The Pipe-Forward and Pipe-Backward Operators · Composition Operators · Custom Operators · List Comprehensions and Sequence Expressions - 13Functional-Style Error HandlingThe
ResultType: Typed Success or Failure · TheOptionType for Absent Values · Railway-Oriented Programming · Computation Expressions · Exception Handling in F#:try-with· Data Validation: A Complete Pattern - 14Processing CSV and XML Files in F#Processing CSV Files with the Standard Library · Processing XML Files with
FSharp.Data· Comparison: Data Processing in C# vs. F# - 15C# and F# InteroperabilityUsing C# Types from F# · Exposing F# Types to C# · Using Common .NET Libraries · Conversions Between F# and C# Types · Developing Mixed C# and F# Components
Anexe
- ASetting Up the Development Environment
- BC# Quick Reference
- CF# Quick Reference
Recenzii
„Lucrarea de față abordează programarea pe platforma .NET 10 LTS într-o manieră didactică, de manual, din două perspective complementare, ce răspund la o aceeași problemă – dezvoltarea de aplicații fiabile și ușor de întreținut pe aceeași platformă de execuție.”
„Consider că lucrarea este bine structurată, conține informații relevante și actuale și reprezintă un material didactic valoros pentru studenți, dar și pentru alte persoane interesate de programarea pe platforma .NET.”
„Această carte este rezultatul pasiunii pentru ingineria software, născută din provocările pragmatice proprii dezvoltării oricărui produs comercial și desăvârșită prin actul didactic al autorului, care oferă, pas cu pas, o incursiune de o profunzime aparte în programarea .NET.”
„Apreciez că lucrarea are o structură coerentă, o acoperire tematică amplă și un potențial didactic ridicat.”
Citare
@book{bocan2026dotnet,
author = {Bocan, Valer},
title = {Programare .NET},
publisher = {Editura Politehnica},
address = {Timișoara},
year = {2026},
pages = {527},
isbn = {978-606-35-0689-5},
language = {romanian},
note = {In press}
}

