1、C# 的三大特性?

封装、继承、多态

2、简述 private、 protected、 public、 internal 修饰符的访问权限。

private : 私有成员, 在类的内部才可以访问。

protected : 保护成员,该类内部和继承类中可以访问。

public : 公共成员,完全公开,没有访问限制。

internal: 当前程序集内可以访问。

3、接口和类的区别

接口:不能实例化,方法也没有具体的实现,被继承时,继承类必须实现接口的所有方法。

类:可以被实例化,被继承时,继承类也不需要重新实现被继承类中的方法。但是如果被继承类的方法中有abstract修饰的,继承类则需要实现这个方法。

4、在对象比较中,对象一致和对象相等分别是指什么?

对象一致指的是引用相同。对象相等指的是内容相等。

5、ref修饰参数和out修饰参数的区别

ref、out都可以从函数内部传出值,区别是,ref修饰的参数必须先初始化、而out不用

6、C#中String和string有什么区别?

  • string是C#中的类,String是Framework的类,
  • 如果写的是string,在编译的时候编译器会把他转换为String。所以直接使用String会让编译器少做工作,可以提高一下性能。
  • 在C#中建议使用string,比较符合规范 。
  • 在C#中string是关键字,而String不是。

7、 const和readonly两者区别?

const:

  • 编译时常量
  • 本身就是静态变量
  • 只能定义基本类型,如int,string等等
  • 在声明的时候必须初始化,且不能修改

readonly:

  • 运行时常量
  • 不是静态变量,如果需要需加上“static”关键字
  • 可以定义一切类型
  • 可以延迟到构造函数初始化

8、public static const int A = 1; 这段代码有错误吗

错误:const 不能被修饰为 static
因为定义为常量(const)后就是静态的(static)

9、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

会执行,在return前执行。

10、string str = null 与 string str = "" 的区别

string str = null 是不给他分配内存空间,而 string str = "" 给它分配长度为空字符串的内存空间。
string str = null 没有 string 对象,string str = "" 有一个字符串对象。

11、什么叫做泛型?

泛型就是参数化类型

泛型的作用是减少重复代码

12、什么是反射?

动态获取程序集信息、对象信息。

13、装箱和拆箱

装箱是将值类型转化为引用类型的过程;

拆箱是将引用类型转化为值类型的过程

14、2+5+”8” 得到的结果是什么

从左向右运算,int + string 是 string,所以是 “78”

扩展:”8”+2+5 是”825”,而 “8”+(2+5)是 “87”

15、a=10,b=15,请在不使用第三方变量的情况下,把a、b的值互换

            int a = ;
int b = ;
a += b;
b = a - b;
a -= b;
Console.WriteLine("a={0}\r\nb={1}", a, b);

16、现有 1~10 共十个自然数,已随机放入一个有 8 个元素的数组 nums[8]

int[] numbers= { 3, 9, 8, 2, 4, 6, 10, 7 };

要求写出一个尽量简单的方案,找出没有被放入数组的那 2 个数,并打印这 2 个数。

            int[] numbers = { , , , , , , ,  };
for (int i = ; i <= ; i++)
{
//通过使用默认的相等比较器确定序列是否包含指定的元素。
if (!numbers.Contains(i))
{
Console.WriteLine(i);
}
}

17、请编程实现一个冒泡排序算法?

            int[] array = { , , , , , , , , ,  };
for (int i = ; i < array.Length; i++)
{
for (int j = ; j < array.Length - - i; j++)
{
if (array[j] > array[j + ])
{
int temp = array[j];
array[j] = array[j + ];
array[j + ] = temp;
}
}
}
Console.WriteLine("冒泡排序");
foreach (var t in array)
{
Console.WriteLine($"{t}");
}

18、产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复?

            var list = new List<int>();
var random = new Random();
while (true)
{
var temp2 = random.Next(, );
if (list.Count == )
{
break;
}
if (!list.Contains(temp2))
{
list.Add(temp2);
}
}
foreach (var t in list)
{
Console.Write(t + ",");

.Net 面试题整理(一)的更多相关文章

  1. 【web前端面试题整理06】成都第一弹,邂逅聚美优品

    前言 上周四回了成都,休息了一下下,工作问题还是需要解决的,于是今天去面试了一下,现在面试回来了,我感觉还是可以整理一下心得. 这个面试题整理系列是为了以后前端方面的兄弟面试时候可以得到一点点帮助,因 ...

  2. C++ 面试题整理

    我和朋友们面到的c++试题整理 虚表 static const sizeof 可构造不可继承的类 stl Iterator失效 map vector vector的removed_if 优化 ---- ...

  3. Touch事件or手机卫士面试题整理回答(二)

    Touch事件or手机卫士面试题整理回答(二) 自定义控件 1. Touch事件的传递机制 顶级View->父View->子View,不处理逆向返回 OnInterceptTouchEve ...

  4. 尚学堂Java面试题整理

    博客分类: 经典分享   1. super()与this()的差别? - 6 -  2. 作用域public,protected,private,以及不写时的差别? - 6 -  3. 编程输出例如以 ...

  5. 【JAVA面试】java面试题整理(4)

    版权声明:转载请注明 https://blog.csdn.net/qq_33591903/article/details/83473779                               ...

  6. 北京Java笔试题整理

    北京Java笔试题整理 1.什么是java虚拟机?为什么ava被称作是"平台无关的编程语言? 答:Java虚拟机可以理解为一个特殊的"操作系统",只是它连接的不是硬件,而 ...

  7. Java笔试面试题整理第八波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51388516 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  8. Java笔试面试题整理第六波(修正版)

    转载至:http://blog.csdn.net/shakespeare001/article/details/51330745 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  9. Java笔试面试题整理第五波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51321498 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

  10. Java笔试面试题整理第四波

    转载至:http://blog.csdn.net/shakespeare001/article/details/51274685 作者:山代王(开心阳) 本系列整理Java相关的笔试面试知识点,其他几 ...

随机推荐

  1. JavaScript中判断整数的方法

    一.使用取余运算符判断 任何整数都会被1整除,即余数是0.利用这个规则来判断是否是整数. 1 2 3 4 5 function isInteger(obj) {     return obj%1 == ...

  2. svg和canvas比较以及svg简单介绍

    文章地址:https://www.cnblogs.com/sandraryan/ 什么是svg 可缩放矢量图形(Scalable Vector Graphics) 1. 一种使用XML描述的2D图形语 ...

  3. Python--day31--UDP协议的socket通信

  4. Vue 属性绑定v-bing 事件绑定v-on

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 21个项目玩转深度学习:基于TensorFlow的实践详解06—人脸检测和识别——项目集锦

    摘自:https://github.com/azuredsky/mtcnn-2 mtcnn - Multi-task CNN library language dependencies comment ...

  6. HDU 5912 Fraction(模拟)

    Problem Description Mr. Frog recently studied how to add two fractions up, and he came up with an ev ...

  7. tensorflow在文本处理中的使用——词袋

    代码来源于:tensorflow机器学习实战指南(曾益强 译,2017年9月)——第七章:自然语言处理 代码地址:https://github.com/nfmcclure/tensorflow-coo ...

  8. 关于POSTMAN做并发压测

    一开始我个人在做测试时用到了POSTMAN,用了两种方式做测试, 第一种: 测试发现这种方式是阻塞排队,我让接口睡两秒,这100次请求间隔就是2秒,是串行执行 于是想到第二种,在一个collectio ...

  9. phpcms 增加备案号、联系方式等字段

    准备好记事本或者dreamweaver或者其它文本编辑器 打开\phpcms\languages\zh-cn\admin.lang.php PHPCMS的中文语言定义文件. 查找“site_manag ...

  10. NuGet 如何设置图标

    在找 NuGet 的时候可以看到有趣的库都有有趣的图标,那么如何设置一个 NuGet 的图标 在开始之前,请在nuget官方网站下载 NuGet.exe 同时设置环境变量 环境变量设置的方法就是将 N ...