Showing posts with label c# ebook download. Show all posts
Showing posts with label c# ebook download. Show all posts

C# programming language


C# programming language 
 The C# programming language is based on Microsoft .NET, the popular platform in the Windows ecosystem. Many companies focusing on Windows development include requirements on C# skills in their job descriptions.
C# can be viewed as a managed programming language based on C++, so there are many similarities between them. It does not take much time for a C++ programmer to learn C#. It is easy to learn the similarities, but it is difficult to distinguish differences. Many interviewers like to ask questions about the confusing differences. For example, the following is a piece of dialog from an interview: 

Interviewer:    Types in C++ can be defined as struct and class. What are the differences between these two types?
Candidate:      The default access level in a struct is public, while in a class is private.
Interviewer:    How about in C#?
Candidate:     It is different in C#. The default access level for both struct and class is private in C#. However, their memory allocation models are different. A struct is a value type, and its instances are created on the stack. A type declared as a class is a reference type, and its instances are created on the heap.

Similar to C++, every type in C# has a constructor at least. Additionally, there might be two different methods (finalizer and Dispose) used to release resources in C#. The finalizer method looks similar to the destructor in C++, which is the type name followed by a complement symbol (~). However, the time to invoke them is different. The time to invoke a destructor in C++ is fixed, but the time to invoke the finalizer in C# is determined by the runtime. The finalizer is invoked by the garbage collector, and the time is unknown to programmers.
Additionally, there is a special constructor in C#, named static constructor. It is invoked automatically when its type is executed by the runtime at the first time, and it is invoked only once. There are many interesting interview questions about the static constructor. For example: What is the output of the C# code in Listing 2-12?
Listing 2-12. C# Code about Static Constructors
class A {
    public A(string text) {
        Console.WriteLine(text);
    }
}
class B{
    static A a1 = new A("a1");
    A a2 = new A("a2");
  static B() {
        a1 = new A("a3");
}
    public B() {
        a2 = new A("a4");
} }
class Program {
    static void Main(string[] args) {
B b = new B(); }
}
Before any code of the type B gets executed, its static constructor will be invoked first. It initializes static data fields and then executes statements inside the static constructor. Therefore, it prints a line of “a1”, and then another line of “a3”.
When the execution flow reaches the statement B b = new B(), the ordinary constructor is invoked. It initializes its data fields first and then the statements in its constructor method, so it prints a line of “a2”, and then another line of “a4”.

www.cinterviews.com appreciates your contribution please mail us the questions you have to cinterviews.blogspot.com@gmail.com so that it will be useful to our job search community




Free Teach yourself C# in 21 days ebook download

Free Teach yourself C# in 21 days ebook download

Description: This book will take you, step by step, through learning C#, the computer industry's newest and most productive language. This complete guide covers topics from basic program construction to intermediate level application engineering.

Following "21 days" formula, this book is a three week intensive course for the beginning programmer who wishes to get started with this exiting new coding standard. The comprehensive lesson plan will enable the reader to understand, design and build applications that are compatible with the new Microsoft .net framework.

Click here to download