C# Coding Interview Questions (Part – 2)

Datetime:2016-08-22 22:13:00          Topic: C#           Share

1. What happens when you compile and run the below program?

 public class Program
    {
        public static void Main(string[] args)
        {
            Console.WriteLine(Math.Round(6.5));
            Console.WriteLine(Math.Round(9.5));
        }
    }

Output:

6

10

2. Predict the output for below program.

 public class Program
    {
        public static void Main(string[] args)
        {
            var intArray = new int[] { 1, 2, 3, 4, 5 };
            var doubleArray = intArray.Cast<double>().ToList();
            for (int i = 0; i < doubleArray.Count; i++)
                Console.WriteLine(doubleArray[i]);
        }
    }

Output:

InvalidCastException exception at runtime.Cast is defined as an extension method on the non-generic IEnumerable type instead of IEnumerable

. As enumerating an IEnumerable enumerates on object types, and casting from object to double is not permitted.

3. What will be the output for below program?

public class Program
    {
        public static void Main(string[] args)
        {
            byte b = 100;
            dynamic d = b;
            Console.WriteLine(d.GetType());
            d += 100;
            Console.WriteLine(d.GetType());
        }
    }

Output:

System.Byte

System.Int32

4. Predict the output for below Program

    public class Program
    {
        public static void Main(string[] args)
        {
            var actions = new List<Action>();
            for (int i = 0; i < 4; i++)
                actions.Add(() => Console.WriteLine(i));
            foreach (var actionin actions)
                action();
        }
    }

Output:

4

4

4

4

5. What will be the output for below program in release mode and how different is it from debug mode?

 public class Program
    {
        public  static void Main(string[] args)
        {
            bool isComplete = false;
 
            var t = new Thread(() =>
            {
                int i = 0;
                while (!isComplete) i += 0;
            });
 
            t.Start();
 
            Thread.Sleep(500);
            isComplete = true;
            t.Join();
            Console.WriteLine("complete!");
          
        }
        
    }

Output:

The program will hung in release mode and will give an output in debug mode.

complete!

6. Predict the output for below Program.

 public class Program
    {
        public static  void Main()
        {
            var list = new List<int> { 10, 20, 30, 40, 50 };
            var collection = new Collection<int>(list);
            list.Add(60);
            Console.WriteLine(String.Join(",", collection));
        }
    }

Output:

10,20,30,40,50,60

7. What will be the output for below program?

public class Program
    {
        public static  void Main()
        {
            Nullable<int> nullableVariable = 0;
            int intVariable = 1;
            Console.WriteLine(nullableVariable.GetType() == intVariable.GetType());
        }
    }

Output:

True

8. Predict the Output for below program

public class Program
    {
        public static  void Main()
        {
            class1 a = new class3();
            Console.WriteLine(a.DoSomething());
        }
 
        public class class1
        {
            public virtualstring DoSomething()
            {
                return "class1";
            }
        }
 
        public class class2 : class1
        {
            public overridestring DoSomething()
            {
                return "class2";
            }
        }
 
        public class class3 : class2
        {
            public new string DoSomething()
            {
                return "Class3";
            }
        }
    }

Output:

class2

9. What will be the output for below program?

 public class Program
    {
        public static  void Main()
        {
            int? i = null;
            i++;
            Console.WriteLine("Value of i is {0} ", i);
        }      
    }

Output:

Value of i is

10. Predict the output for below program?

  public class Program
    {
        public static void Main()
        {
            double dVal = 100.1;
            Console.WriteLine((int)dVal);
 
            object objVal = dVal;
            Console.WriteLine((int)objVal);
        }
    }

Output:

100

Unhandled Expecption:

System.InvalidCastException: Specified cast is not valid.

at Program.Main()

Thanks for Visiting !!

© 2016,admin. All rights reserved.





About List