• 笔试题.NET基础代码面试题


    题目如下,本随笔只是记录,都是一些自身面经的题目,您既然点开了的话,学习下无妨,说不定有帮助呢

    以下答案都经过博主一个个去运行过。

    题目1 (实例化后 x=?;y=? 输出什么):

    public class Class1
    {
        public Class1()
        {
            ShowInfo();
        }
    
    
        public virtual void ShowInfo() { }
    }
    
    public class Class2 : Class1
    {
        int x = 1;
        int y;
        public Class2()
        {
            y = 2;
        }
    
        public override void ShowInfo()
        {
            Console.WriteLine($"x:{x},y:{y}");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var class2 = new Class2();
            Console.ReadKey();
        }
    }
    会输出什么结果呢?  答案:x=1,y=0 
    注:new Class2会第一出发Class1的构造函数,直接会调用ShowInfo,因为子类重写该方法,所以会打印 x=1,y=0,后者才会触发Class2构造函数内代码。

    题目2 (X=?;Y=? 输出什么):

    public static class Class1
    {
    
        public static int Y = Class2.X + 1;
        static Class1()
        {
            
        }
    }
    
    public static class Class2
    {
        public static int X = Class1.Y;
        static Class2()
        {
            X = Class1.Y + 2;
        }
    
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine($"X:{Class2.X};Y:{Class1.Y}");
            Console.ReadKey();
        }
    }

    答案:X:3;Y:1 ,此题目考的是静态类静态字段的使用

    题目3 (输出啥?):

    public class Class1
    {
        public Class1()
        {
            
        }
    
        public virtual void ShowInfo(int value)
        {
            Console.WriteLine(value + 1);
        }
    }
    
    public class Class2:Class1
    {
        public Class2()
        {
    
        }
    
        public override void ShowInfo(int value)
        {
            Console.WriteLine(value + 2);
        }
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            var obj = new Class2();
            Class1 obj1 = obj;
            obj1.ShowInfo(2);
            Console.ReadKey();
        }
    }

    答案:输出4

    突然觉得自己记性还不错

    ! 还没吃饭呢,先把肚子安排了。。。

  • 相关阅读:
    后端开发-Mybatis开发之一
    Zeppelin推荐
    构建Maven项目
    linux使用curl进行WebService接口测试
    html和jsp的区别及优缺点
    Ajax实现Web长连接
    java生成二维码
    Android调用传感器和震动
    【Head First设计模式-读书笔记】装饰者模式
    【Head First设计模式-读书笔记】观察者模式
  • 原文地址:https://www.cnblogs.com/codedisco/p/12751345.html
Copyright © 2020-2023  润新知