A namespace is a container for classes and other types, used to organize code.
I think, we know this ...
'ref' requires the variable to be initialized before passing, while 'out' does not.
Let me try to recall ...
It ensures the proper disposal of resources like files or database connections.
Let me try to recall ...
'struct' is a value type, while 'class' is a reference type.
Let me try to recall ...
'abstract' methods must be implemented in derived classes, while 'virtual' methods can be overridden.
I think, I know this ...
It denotes that a member belongs to the type itself rather than an instance.
I think, we know this ...
'==' compares references for reference types, while '.Equals()' checks for value equality.
I think, we know this ...
It prevents a class from being inherited.
Let us take a moment ...
'throw' preserves the original stack trace, while 'throw ex' resets it.
I think, I can answer this ...
It checks if an object is compatible with a given type.
Hmm, let me see ...
'readonly' can be assigned at runtime or in the constructor, while 'const' is assigned at compile time.
Let me try to recall ...
It ensures that a block of code runs by only one thread at a time.
Hmm, what could it be?
'IEnumerable' is used for in-memory collections, while 'IQueryable' is used for querying data from out-of-memory sources.
I think, we know this ...
It is used to create an iterator method that returns elements one at a time.
This sounds familiar ...
'Task' is a higher-level abstraction for asynchronous programming, while 'Thread' is a lower-level construct.
This sounds familiar ...
They are used to write asynchronous code more easily and avoid blocking the main thread.
I think, we know this ...
'Array' is strongly typed, while 'ArrayList' can store objects of any type.
I think I can do this ...
It is used to release unmanaged resources explicitly.
I think, we know this ...
'override' modifies a base class method, while 'new' hides it.
Let me think ...
It forces garbage collection to reclaim unused memory.
I think, I can answer this ...
'protected' allows access within the class and derived classes, while 'internal' allows access within the same assembly.
I think, we know this ...
They allow adding new methods to existing types without modifying them.
I think, I can answer this ...
An abstract class can have implementations, while an interface cannot.
Let me think ...
It allows value types to represent null values.
I think, we know this ...
'Boxing' converts a value type to an object, while 'unboxing' extracts the value type from the object.
I think, I know this ...
It defines a type that references methods with a specific signature.
Hmm, what could it be?
'Func' returns a value, while 'Action' does not.
I think, we know this ...
It provides a query syntax to manipulate data collections.
Hmm, what could it be?
'Early binding' occurs at compile time, while 'late binding' occurs at runtime.
Hmm, what could it be?
It allows splitting a class, struct, or interface into multiple files.
Let me think ...
They allow asynchronous iteration over data streams using 'await foreach'.
Hmm, let me see ...
'Span<T>' is a stack-only type for contiguous memory, while 'Memory<T>' can be used on the heap.
I think I can do this ...
It is used to define immutable reference types with value-based equality.
Hmm, what could it be?
Covariance allows a method to return a more derived type, while contravariance allows a method to accept a less derived type.
I think, I can answer this ...
It bypasses compile-time type checking, enabling runtime type resolution.
I think, I know this ...
'ValueTask' is used for performance optimization when the result is already available or completed.
This sounds familiar ...
They allow interfaces to have method implementations.
I think, I know this ...
'in' passes arguments by reference but prevents modification, while 'ref readonly' ensures the reference itself is read-only.
I think I can do this ...
It provides methods for low-level memory manipulation.
Let me try to recall ...
'Task.WhenAll' waits for all tasks to complete, while 'Task.WhenAny' waits for any one task to complete.
Hmm, what could it be?
It defines a mechanism for releasing unmanaged resources asynchronously.
Let me try to recall ...
'ConcurrentDictionary' is thread-safe, while 'Dictionary' is not.
I think, I can answer this ...
It is used to propagate notifications that operations should be canceled.
I think I can do this ...
'Reflection.Emit' generates IL code dynamically, while 'Expression Trees' represent code as data structures.
I think, I know this ...
It allows obtaining the method or property name of the caller.
Let us take a moment ...
'HttpClient' is a modern, higher-level API for HTTP requests, while 'HttpWebRequest' is older and more complex.
Hmm, let me see ...
It provides a type-safe, memory-efficient view over contiguous memory.
Let me think ...
'IL' (Intermediate Language) and 'CIL' (Common Intermediate Language) are synonymous terms for .NET's intermediate code.
I think I can do this ...
It provides a mechanism for loading and managing assemblies dynamically.
I think, we know this ...
'AppDomain' is used for isolation in .NET Framework, while 'AssemblyLoadContext' is its replacement in .NET Core.
Hmm, let me see ...