C#面试题总结——程序设计基础
一、类型与变量
1.C#支持哪几个预定义的值类型?
主要包括五个类型:整数,浮点数,字符型,bool类型以及decimal型(小数型)。其中每一个类型分别有多个内置类型组成。
2.C#支持哪几个预定义的引用类型?
共两个,分别是object类型和sting类型。
3.如何解决装箱和拆箱可能引发的性能问题?
CLR将值类型的数据“包裹”到一个匿名的托管对象中,并将此托管对象的引用放在object类型的变量中,这个过程称之为装箱。拆箱是装箱的逆过程。对于装箱和拆箱对性能影响的解决办法是在程序中大量使用泛型进行替代。
4.何为值类型和引用类型?两者的区别?怎么区分?
- 值类型实例通常分配在线程的堆栈中,并且不包含任何指向实例数据的指针;而引用类型实例分配在托管堆中,变量保存了实例数据的内存引用。
- 对两者赋值的区别。
- 继承结构的区别,引用类型一般都有继承性,值类型是密封的(sealed),因此值类型不能作为其他类型的基类。值类型都继承自System.ValueType,引用类型不是
5.如何理解C#中变量的作用域?
在C#中,变量的作用域是指可以访问该变量的代码区域。只要变量所属的类在某个作用域内,其成员变量也在该作用域内。局部变量的作用域为声明变量所在的块语句内,或者方法结束的大括号之前的作用域。在for或while语句中声明的变量,只存在于该循环体中。
6.C#中传递参数的方法?
传值,传址,输出参数,数组参数。传值参数无额外的修饰符,传址参数ref修饰,输出参数out修饰,数组参数params修饰。ref修饰的参数在使用之前必须付初值,而out修饰的参数则不必赋初值。
7.如何理解C#中的预处理器指令?
C#中预处理器指令是在编译时调用的,它通知编译器要编译哪些代码,并指出如何处理特定的错误和警告。它还可以提示C#编辑器有关代码组织的信息。
8.请简述C#中的Main方法。
Main()方法是C#程序的入口点,程序从这里开始,也从这里结束。需要注意的是,在C#中,有且只能有一个Main()方法。、
9.如何理解C#中的指针?
C#中指针不继承Object类,并且指针类型与Object之间不存在转换,此外,装箱和拆箱也不支持指针。但是,C#允许不同指针类型之间,以及指针和整数之间进行转换。
10.C#提供了几种循环结构?
do....while、while、for、foreach四种循环结构。while和do....while循环结构非常类似,经常用在循环次数未知的情况下,for用在循环次数已知的情况下,foreach用在处理已知集合的循环操作
11.StringBuilder与String有哪些区别?
String是字符串常量,StringBuilder是字符串变量。在相同字符串的许多操作上,StringBuilder比String效率更高。对于少量的字符串拼接的字符操作,使用String类比较方便。.NET对String类扩展了许多便捷的字符串处理方法。
12.C#中string和String的区别?
string是System.String类型的一个别名,两者没有任何区别。
C#面试题总结——程序设计基础的更多相关文章
- C语言程序设计基础
C语言程序设计基础 目录 C语言 C语言基础 C语言编程注意 C语言 C语言基础 C语言编程注意 0<9<9和0<9&&9<9是不同的 数组的声明和定义 con ...
- C#程序设计基础——常量
C#程序设计基础——常量 常量是在编译时已知,并且在程序的生存期内不发生更改的不可变值.常量使用const修饰符进行声明. 常量必须在声明时初始化,且常量的类型必须为以下类型之一:sbyte/byte ...
- Oracle数据库之PL/SQL程序设计基础
PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ ...
- 学而精计算机公共基础学习之路TEST2(程序设计基础)
程序设计基础 程序设计方法与风格 1.程序设计方法 程序设计: 指设计.编制.调试程序的方法和过程. 程序设计方法是研究问题求解如何进行系统构造的软件方法学.常用的程序设计方法有:结构化程序设计方法. ...
- C语言程序设计基础-第1周作业-初步
1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...
- 谈谈书本《c#物联网程序设计基础》中的技术瑕疵,如果你将要读本书,请进来看看!
今天去书店看到一本名为<c#物联网程序设计基础>的书,对物联网感兴趣的我抓起来就看,书中的项目都是上位机开发项目,较简单,如果物联网开发只是这样,看起来我做物联网开发也是绰绰有余.这边书我 ...
- 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)
[原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...
- 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)
[原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...
- C语言程序设计基础知识点概括
C语言程序设计基础知识点概括 C语言程序设计基础知识点1.函数是C语言的基本构成单位.main函数是C语言程序的唯一入口.2.C语言程序开发过程. 编译过程:将以.c或.cpp结尾的源程序文件经过编译 ...
随机推荐
- div没有设置高度时背景颜色不显示(浮动)
在使用div+css进行网页布局时,如果外部div有背景颜色或者边框,而不设置其高度,在IE浏览器下显示正常.但是使用Firefox/opera浏览时却出现最外层Div的背景颜色和边框不起作用的问题. ...
- EC读书笔记系列之1:条款1、条款2、条款3
条款1:视C++为一个语言联邦 记住: ★C++高效编程守则视状况而变化,这取决于你使用C++的哪一部分 C: Object-oriented c++: Template c++: STL 条款2:尽 ...
- alloc & init & dealloc
在Objective-C中,alloc,init和dealloc是经常使用的函数,那么它们内部到底是如何实现的呢?通过查看libobjc运行时库,可以发现他们的工作原理. 1 alloc alloc的 ...
- html 学习笔记--基础篇
最近被部门经理要求看一下html,重新看发现好多以前看过的只是都忘记了或者以前走马观花看过没有记得住的东西,正好趁此机会在博客上记录一下,顺便的如果以后需要查找,这里有记录的话可能会比上网查快一点(也 ...
- wifi智能插座 一键扫描局域网内插座Ip及其它信息 Python源代码API
转载请保留原地址. http://www.cnblogs.com/lsqandzy 最近买了几个智能插座玩,插座安装在家里,连接好wifi,不管你人在哪里,通过手机,一键开启或关闭插座电源,想象一下, ...
- sql每五秒插入一条数据 一次插入N条数据
1建立数据表 create table projectManage ( ID int identity primary key not null, projectName )not null, man ...
- PHP结合Linux的cron命令实现定时任务
PHP死循环 来处理定时任务的效率是很低的.(众多网友评价)大家都建议使用Linux内置的定时任务crontab命令来调用php脚本来实现. PHP定时任务的两种方法:1.web方式调用php网页,但 ...
- js阻止元素的默认事件与冒泡事件
嵌套的div元素,如果父级和子元素都绑定了一些事件,那么在点击最内层子元素时可能会触发父级元素的事件,从而带来一定的影响. 1. event.preventDefault(); -- 阻止元素的默认 ...
- vs 2013打开vs 2008解决方案问题解决
同时安装了vs 2013和vs 2008后,双击vs 2008的解决方案,会出现直接用vs 2013打开的问题. 解决以上问题: 右键选择VS 2008的解决方案,选择开发方式->选择默认程序, ...
- Win 10 、Win 8 系统默认字体如何修改为宋体
Win 10 字体改为宋体方法:新建一个文本文档txt,将如下代码复制进去:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWA ...