• C# Compiler dan Just-in-Time (JIT) Compilation

    Ketika kita menulis kode C#, kode tidak langsung di-compile menjadi machine instruction untuk prosesor atau operating system spesifik. Kode C# tersebut harus masuk ke pipeline compilation yang didesain untuk mendukung portabilitas, keamanan, dan optimisasi. 1. Roslyn, C# Compiler Langkah pertama dalam pipeline adalah C# compiler, yang dikenal sebagai Roslyn. Roslyn menganalisis source code untuk ketepatan,…

    read more

  • C# Delegates

    A delegate is an object that know how to call a method. A delegate is similar to a callback, a general term that captures construcs such as C function pointers. A delegate design might be a better choice than an interface design if one or more of these conditions are true:

    read more

  • Constants C#, Brief Explanation

    A constant is evaluated statically at compile time, and the compiler literally substitutes its value whenever used. A constant can serve similar role to a static readonly field, but it is more restrictive. A constant also differ from a static readonly field in that the evaluation of the constant occurs at compile time. Constant: static…

    read more

  • C# Boxing and Unboxing

    Boxing: Act of converting a value type instance to a reference type instance. Example: int x = 9; object obj = x; Unboxing: Reverses the operation by casting the object back to the original value type: Example: int y = (int)obj; Unboxing requires an explicit cast. The runtime checks that the stated value type matches…

    read more

  • C# Compilation

    The C# compiler compiles source code (a set of files with .cs extension) into an assembly. .NET 8 assemblies never have a .exe extension. The .exe after building a .NET 8 application is a platform spesific native loader responsible for starting application .dll assembly

    read more

  • C# Common Language Runtime

    CLR provide essential runtime services such as automatic memory management and exception handling. Runtime can be shared by other managed programming languages, such as F#, Visual Basic, and Managed C++.

    read more