Skip to content
Books
2026
Front cover of Programare .NET
BookIn press

Programare .NET

.NET Programming

C# and F# as two answers to the same engineering problems.

RomanianC#F#15 Chapters3 AppendicesBibTeX

Record

Author
Valer Bocan
Publisher
Editura Politehnica, Timișoara
Year
2026
Edition
First
Pages
527
ISBN
978-606-35-0689-5
Language
Romanian
Status
In press

About

Modern .NET taught through two languages that solve the same problems in different ways. The first half builds C# from types and control flow to object-oriented design, generics, LINQ, and the processing of XML, JSON, and CSV data. The second half turns to F# and functional programming: pattern matching, algebraic types, immutable collections, and railway-oriented error handling, closing with C# and F# working side by side in one solution.

Every chapter ends with a practical application that has complete code, its expected output, and a reference solution verified in a companion repository.

Contents

15 chapters
translated from Romanian

Part I · C#

  1. 1
    Introduction to the .NET Platform
    A 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
  2. 2
    Data 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
  3. 3
    Control Structures and Methods
    Conditional Statements · Loops · Methods · Parameter Passing · Recursion · Comments and XML Documentation in Code
  4. 4
    Object-Oriented Programming in C#
    Classes and Objects · Class Members · Constructors · Access Modifiers · Static Members and Static Classes · record and record struct Types
  5. 5
    Inheritance, Interfaces, and Polymorphism
    Inheritance · Abstract Classes and Abstract Methods · Interfaces · Polymorphism · Generic Types · Extension Members (C# 14) · Object-Oriented Design Principles: An Introduction to SOLID
  6. 6
    Collections, Lambda Expressions, and LINQ
    Arrays · Generic Collections · Delegates and Events · Lambda Expressions · LINQ Fundamentals · Advanced LINQ Operators
  7. 7
    Error Handling in C#
    The .NET Exception Mechanism · Common Exceptions · Throwing Exceptions: throw and throw ex · Creating Custom Exceptions · Error-Handling Best Practices
  8. 8
    Data Processing with LINQ: XML, JSON, and CSV
    LINQ to XML · Working with JSON · Processing CSV Files · Transforming Between Formats

Part II · F#

  1. 9
    Introduction 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 Option and Tuple Types · Defining and Calling Functions
  2. 10
    Functions and Pattern Matching in F#
    Higher-Order Functions · Partial Application and Currying · Function Composition · Recursion and Tail Recursion · Pattern Matching · match Expressions in Functions: The function Keyword
  3. 11
    Algebraic Data Types in F#
    Records · Discriminated Unions · Units of Measure · Type Abbreviations · Modules and Code Organization
  4. 12
    Collections and Data Processing in F#
    Lists · Array and ResizeArray · Sequences (Seq) and Lazy Evaluation · Map and Set · The Pipe-Forward and Pipe-Backward Operators · Composition Operators · Custom Operators · List Comprehensions and Sequence Expressions
  5. 13
    Functional-Style Error Handling
    The Result Type: Typed Success or Failure · The Option Type for Absent Values · Railway-Oriented Programming · Computation Expressions · Exception Handling in F#: try-with · Data Validation: A Complete Pattern
  6. 14
    Processing 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#
  7. 15
    C# and F# Interoperability
    Using 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

Appendices

  1. A
    Setting Up the Development Environment
  2. B
    C# Quick Reference
  3. C
    F# Quick Reference

Reviews

translated from Romanian; the original follows each quote

“This work approaches programming on the .NET 10 LTS platform in a didactic, textbook manner, from two complementary perspectives that answer one and the same problem: developing reliable, maintainable applications on the same runtime platform.”

„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.”

Prof. Mihai V. MiceaPolitehnica University of Timișoara

“I consider the work well structured. It contains relevant, up-to-date information and is valuable teaching material for students, as well as for anyone else interested in programming on the .NET platform.”

„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.”

Lecturer Oana-Sorina ChirilăPolitehnica University of Timișoara

“This book is the result of a passion for software engineering, born of the pragmatic challenges inherent in developing any commercial product and refined through the author's teaching, which offers, step by step, an exploration of unusual depth into .NET programming.”

„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.”

Assoc. Prof. Lucian ProdanPolitehnica University of Timișoara

“I find that the work has a coherent structure, broad thematic coverage, and high teaching potential.”

„Apreciez că lucrarea are o structură coerentă, o acoperire tematică amplă și un potențial didactic ridicat.”

Assoc. Prof. Ciprian-Bogdan ChirilăPolitehnica University of Timișoara

Cite

@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}
}