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结尾的源程序文件经过编译 ...
随机推荐
- 关于arm-linux-gcc的安装与配置
在嵌入式开发中我们经常会用到arm-linux-gcc来编译我们的应用程序.作为arm-linux-gcc的入门,我们先看看如何安装arm-linux-gcc. 安装arm-linux-gcc还是比较 ...
- java基础学习笔记
Q: What if the main method is declared as private? 如果将主函数声明为私有类型的会怎样? A: The program compile ...
- Emacs入门快捷键
打开emacs开始一个程序最基本操作: 1.打开Emacs,执行 $ emacs 2.建立一个新的程序文件. 按C-x C-f 然后在屏幕的底部出现minibuffer,光标提示你输入文件名称, 文件 ...
- (转)最小二乘法拟合圆公式推导及vc实现[r]
(下文内容为转载,不过已经不清楚原创的是哪里了,特此说明) 转自: http://www.cnblogs.com/dotLive/archive/2006/10/09/524633.html 该网址下 ...
- Android网络连接的两种方法:apache client和httpurlconnection的比较
另见http://blog.csdn.net/mingli198611/article/details/8766585 在官方blog中,android工程师谈到了如何去选择apache client ...
- struts2的注解配置全面解析
以前在用struts2的注解配置时总是要在web.xml中配置一个初始化参数(actionPackages),最近发现不灵了,仔细研究了下发现即使不用在web.xml中配置也能成功,但时灵时不灵的,很 ...
- phpexcel导入excel文件报the filename xxx is not recognised as an OLE file错误。
工作中频繁会用phpexcel类导入excel文件的数据到数据库,目前常用的excel文件格式有:xls.csv.xlsx. 刚开始,针对xls文件,使用如下程序,能正常运行: $objReader ...
- shell练习--批量创建账号
#!/bin/bash #By spinestars #-- #cksum5位数获取方法,可能有重复 #pd="user`head -200 /dev/urandom | cksum | h ...
- Myeclipse6.5配置反编译插件
PS:jad.exe位置与Myeclipse6.5安装目录平行
- C# Process类_进程_应用程序域与上下文之间的关系
进程(Process)是Windows系统中的一个基本概念,它包含着一个运行程序所需要的资源.进程之间是相对独立的,一个进程无法直接访问另一个进程的数据(除非分布式),一个进程运行的失败也不会影响其他 ...