一、类型与变量

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#面试题总结——程序设计基础的更多相关文章

  1. C语言程序设计基础

    C语言程序设计基础 目录 C语言 C语言基础 C语言编程注意 C语言 C语言基础 C语言编程注意 0<9<9和0<9&&9<9是不同的 数组的声明和定义 con ...

  2. C#程序设计基础——常量

    C#程序设计基础——常量 常量是在编译时已知,并且在程序的生存期内不发生更改的不可变值.常量使用const修饰符进行声明. 常量必须在声明时初始化,且常量的类型必须为以下类型之一:sbyte/byte ...

  3. Oracle数据库之PL/SQL程序设计基础

    PL/SQL程序设计基础 一.PL/SQL块结构 前边我们已经介绍了PL/SQL块的结构,再来回顾一下: DECLARE /* * 声明部分——定义常量.变量.复杂数据类型.游标.用户自定义异常 */ ...

  4. 学而精计算机公共基础学习之路TEST2(程序设计基础)

    程序设计基础 程序设计方法与风格 1.程序设计方法 程序设计: 指设计.编制.调试程序的方法和过程. 程序设计方法是研究问题求解如何进行系统构造的软件方法学.常用的程序设计方法有:结构化程序设计方法. ...

  5. C语言程序设计基础-第1周作业-初步

    1.安装带有计算机术语的翻译软件 2.在自己电脑上安装C编译器,windows系统建议安装dev-c++,其他系统自行查找. 3.加入课程小组,有任何疑问可以在小组中提问:https://group. ...

  6. 谈谈书本《c#物联网程序设计基础》中的技术瑕疵,如果你将要读本书,请进来看看!

    今天去书店看到一本名为<c#物联网程序设计基础>的书,对物联网感兴趣的我抓起来就看,书中的项目都是上位机开发项目,较简单,如果物联网开发只是这样,看起来我做物联网开发也是绰绰有余.这边书我 ...

  7. 【原创 Hadoop&Spark 动手实践 9】Spark SQL 程序设计基础与动手实践(上)

    [原创 Hadoop&Spark 动手实践 9]SparkSQL程序设计基础与动手实践(上) 目标: 1. 理解Spark SQL最基础的原理 2. 可以使用Spark SQL完成一些简单的数 ...

  8. 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)

    [原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...

  9. C语言程序设计基础知识点概括

    C语言程序设计基础知识点概括 C语言程序设计基础知识点1.函数是C语言的基本构成单位.main函数是C语言程序的唯一入口.2.C语言程序开发过程. 编译过程:将以.c或.cpp结尾的源程序文件经过编译 ...

随机推荐

  1. ADO.NET程序访问数据的组件

    组成--数据集(内存中的数据库) --DataSet数据集 --DataTable数据表 --DataColumn数据列 --DataRow数据行 --DataView数据视图--NET数据提供程序 ...

  2. java序列化ClassNotFoundException

    简单的想从保存的对象中重新解析出对象,用了逆序列化,可是报错: java.lang.ClassNotFoundException: xxxxxxxxxxxx at java.net.URLClassL ...

  3. wince下写入数据到csv/txt文件中

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. Dx 1 error; aborting Conversion to Dalvik format failed with error 1

    Dx 1 error; aborting Conversion to Dalvik format failed with error 1 问题实质是工程中android.jar包大于一个: 保留一个a ...

  5. 关于阿里云ESC上go语言项目编译6l: running gcc failed: Cannot allocate memory

    (1)前段时间将自己的阿里云服务器上的系统由centos 6.5换为了ubuntu 14,其他的硬件配置都没有发生改变,将服务器上的数据恢复并且重新安装了golang的编译环境后,发现使用go bui ...

  6. Django1.7官方文档中的tutorial——翻译

    写下你的第一个Django应用,第一部分 让我们通过例子来学习. 通过这篇指南,我们将会带你浏览一遍一个基本投票应用的创建. 它由两部分组成: 1一个让人们查看投票和进行投票的公共站点 2一个让你添加 ...

  7. php中12个魔术方法

    本文列举了php面向对象当中12个魔术方法,并对此进行一一详细介绍,希望对新手有所帮助. 1.构造方法: __construct() 参数:自定义 触发时机:new的一瞬间自动调用 作用:初始化成员属 ...

  8. Django的痛点

    如果一个html里面写了多个<a href = A.html > ,启动A.html也有这个<a herf = B.xml> 这个时候Django怎么访问这些url?

  9. TabHost刷新activity的方法

    在android中,使用tabHost的时候,如果tab被点击,该tab所对应的activity被加载了,从别的tab切换回来的时候,activity不会再次被创建了(onCreate),所以要想每次 ...

  10. Linux释放内存

    在Linux系统下,我们一般不需要去释放内存,因为系统已经将内存管理的很好.但是凡事也有例外,有的时候内存会被缓存占用掉,导致系统使用SWAP空间影响性能,此时就需要执行释放内存(清理缓存)的操作了. ...