• c#面试宝典一:


    A题:

    http://blog.sina.com.cn/s/blog_939f768f0102wix6.html        

    在using ()中新建的对象,比如你这里的conn,会在{}结束的时候自动关闭和释放,不需要你手动进行。

    这样你不用每次都要去调用conn.Close(),或者conn.Dispose()了,这样能减少人为引入Bug的机会。

    using System;
    不是必须的,是引入命名空间。例如在System里的Console下有函数WriteLine:
    在不加 using System时候必须输入:System.Console.WriteLine("Please enter your name:");
    但是在开头加了的话 就直接 Console.WriteLine("Please enter your name:"); 就可以了。注意省略了 System.
    所以它不是必须的,但是如果许多地方都要用System空间里的东西,最好加上。

    B题:

    https://www.cnblogs.com/bobositlife/articles/what-is-orm-why-use-orm.html

    ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。

    优/缺点

    优点

    与传统的数据库访问技术相比,ORM有以下优点:

    • 开发效率更高
    • 数据访问更抽象、轻便
    • 支持面向对象封装

    缺点

    • 降低程序的执行效率
    • 思维固定化

    C题:@表示强制不转译

    这个@符号有几个作用,1.假设str是一个路径名称的话,在我们的路径中通常都有“”符号,而这个符号又是一个转义字符,如果不加@符号的话,那么你不得不把路径中的“”进行处理,但是这样造成工作量大,所以使用这个@符号就不需要转义路径中的特殊字符了。意思是""之间的反斜杠、正斜杠什么的不做特殊处理,只表示一个你看到的字符串。

    D题:

    https://zhidao.baidu.com/question/374859562.html

    委托是对函数的封装,可以当作给方法的特征指定一个名称。而事件则是委托的一种特殊形式,当发生有意义的事情时,事件对象处理通知过程。

    最常见的例子就是Tom猫叫“喵,我是TOM”,有两只老鼠Jerry和Jack就说“猫来了,快跑!"
    你分析一下,这两个类是如何执行?

    Main函数中执行,当Cat的Shout触发时,Mouse就执行Run。那么如何让Shout触发?显然老猫不认识老鼠,也不会主动通知它们。

    委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。
    委托通过delegate来声明。而事件是说在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。事件对象用event声明。

    E题:

    PO持久化对象中用integer而不要使用int

    /*
     * int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,
     * 而Integer的默认值为null
     * ,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,例如,要想表达出没有参加考试和考试成绩为0的区别
     * ,则只能使用Integer
     * 。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时
     * ,结果为0,所以,int不适合作为web层的表单数据的类型。
     * 在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的
     * ,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。
     * 另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。

    F题:

    接口的方法只能声明不能定义;类可以(所以接口里面的方法不能为abstrat或者virtual;类可以)。类:接口---实现接口;类:类---继承类;接口:接口---继承接口。一个类可以实现多个接口;一个类只能继承一个类。

    都是引用类型.
    接口实质上是功能说明书,说明有什么属性和功能(属性和方法)
    接口理论上是继承者的父类,因此它可以作为实现类的引用,来封装类的复杂实现。
    用接口引用 指向 new 的实例,则该引用只呈现接口中约定的属性和方法(封装)
    接口可以理解为是纯抽象的类。它与类的关系好比自动洗衣机的说明书 和自动洗衣机的关系。
    说明书里描述了自动加水、自动洗衣、自动脱水等功能方法,也有环保、节能、省水等特(属性)。
    但是你不能用这个说明书来洗衣服吧?

    G题:

    private是完全私有的,只有在类自己里面可以调用,在类的外部和子类都不能调用,子类也不能继承父类的private的属性和方法。

    protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(protected的属性和方法都可以被子类所继承和调用)。

    private和protected的共同点:外部都不可以访问。

    private和protected的不同点:在同一类中可视为一样,但在继承中就不同了,private在派生类中不可以被访问,而protected可以。

    public对任何类和成员都完全公开,无限制访问。

    internal同一应用程序集内部(在VS.NET中的一个项目中,这里的项目是指单独的项目,而不是整个解决方案)可以访问。

    public和internal的区别:public的成员可以跨程序集,但internal不能,同一程序集中具有相同的效果。


    protected internal:只能在同一应用程序集内本类、派生类访问。

  • 相关阅读:
    备胎的养成记KeepAlived实现热备负载
    入坑系列之HAProxy负载均衡
    将Error异常日志从普通日志中剥离
    一步一步在Windows中使用MyCat负载均衡 下篇
    年终的第一篇总结 结束南漂 写在2017
    Android实现TCP断点上传,后台C#服务实现接收
    为什么我会反对大家写工作日报
    ANSI C、ISO C、Standard C联系与区别
    c、c++ char*和wchar*互相转换
    宽字符与Unicode (c语言 汉语字符串长度)
  • 原文地址:https://www.cnblogs.com/fzqm-lwz/p/10539734.html
Copyright © 2020-2023  润新知