一、类型与变量

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. setNeedsDisplay、layoutSubViews

    UIView的setNeedsDisplay和setNeedsLayout方法.首先两个方法都是异步执行的.而setNeedsDisplay会调 用自动调用drawRect方法,这样可以拿到UIGra ...

  2. hdu1215七夕节

    Problem Description 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" ...

  3. java之package与import

    我就以package与import开始吧. package的作用其实就是c++的namespace的作用,防止名字相同的类产生冲突,只是实现的机制不一样,java编译器在编译时,直接根据package ...

  4. 加载php_curl.dll和php_openssl.dll出错原因及解决办法

    今天在XP下安装PHP开发环境时,需要加载php_curl.dll这个动态库,自己想当然的在php.ini里把extension=php_curl.dll打开以为就可以了.可以在apache的logs ...

  5. php中12个魔术方法

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

  6. information_schema.routines 学习

    information_schema.routines 用户查看mysql中的routine信息 1.information_schema.routines 表中的常用列: 1.

  7. Effective Java2读书笔记-创建和销毁对象(一)

    第1条:考虑用静态工厂方法代替构造器 通常情况下,我们创建一个对象采取new的形式,但是还有一种方法也是经常使用到的,它的名称叫做静态工厂方法. 例如,java中基本类型boolean的包装类Bool ...

  8. Qt5中生成和使用静态库

    在QT中静态库的后缀名为.a,在vs中开发的静态库后缀名为.lib.QT版本为5.2.1,系统为Windows. 一. 静态库的生成 新建项目. 新建一个静态库的项目,如图1.1所示:项目名称为tes ...

  9. C# attribute_特性

    特性的定义:公共语言运行时允许添加类似关键字的描述声明,叫做attribute,它对程序中的元素进行标注,如类型.字段.方法.和属性等.attribute和.NetFramework文件的元数据保存在 ...

  10. Android APP开发需求文档范本

    Android  APP开发需求文档范本 软件需求文档格式的标准写法 1.引言 1.1 编写目的 • 阐明开发本软件的目的: 1.2 项目背景 • 标识待开发软件产品的名称.代码: • 列出本项目的任 ...