c#面试知识汇总

📅 2026/7/23 19:11:14
c#面试知识汇总
show和showDialog的区别show属于非模态showDialog属于模态showDialog需等当前窗口关闭后才能进行其他交互show相反不需要关闭当前窗口即可交互。另外show是异步showDialog是同步2.什么是大小端大小端是内存中的储存方式例如abcd 甲客户小端发送客户乙abcd 乙客户用大端接收dcba 这样就会造成数据前后不一致所以在通讯时要确定对方是大端还是小端接收3.opc是什么opc是上位机服务器与下位机plc中间的桥梁是一种通讯协议用途负责采集数据OPC Classic依赖windows环境opcua可以跨平台是未来趋势4.Ref和Out的区别ref 给我一个变量使用前需要赋值我要在方法内部改变它public void accref int x { x10 } 调用 int a5 acca console.writeLine a 15out给我一个空变量使用前不需要赋值我要在方法内部填它public void accout int x { x10 } 调用 int a acca console.writeLine a 105.你了解MVC吗简单叙述下MVC分为模型层。逻辑处理层。视图层 逻辑层负责衔接模型层与视图层从模型层获取到的数据在逻辑层处理后再视图层展示给用户6.如何创建一个简单的 ASP.NET MVC 应用程序在vs中创建一个ASP.NET MVC项目然后添加模型试图逻辑层控制层来构建应用程序。7.MVC模式和其他设计模式有什么区别?MVC模式是一种架构模式,用于设计程序的组织架构,其他设计模式(工厂模式,单例模式)是对特定问题的解决方案8.parms含义及用法?parms可以在方法入参同类型传入多个参数,不需要定义类型使用时放在最后一个参数上,方法入参只能有一个parmspublic void testParms(parms int [] arrs){ foreach(var s in arrs){ Console.write(s); } } testParms(1,2,3); //可以直接放入多个参数9.请解释一下.NET 中的AOP(Aspect-0riented Programming)是什么以及它的作用面向切面编程,对通用方法进行抽离,解决代码臃肿,解耦合10.什么是迪米特法则?当一个实体与其他实体尽量少发生相互作用,方便后期进行扩展11.lock为什么要锁定一个参数可不可锁定一个值类型?这个参数有什么要求?lock必须锁的是一个对象,这个对象在内存中只有一个实例,如果是值类型则会装箱,每次装完箱对象不同12.modbusTcp用的什么方法通信?socket s new socket(); s.connect(ip,port); s.send() s.receive()13.委托与回调委托相当于将方法当成参数丢进去通俗理解它就是一个“装方法的容器”或者说是一张“名片”。常规的变量比如int a 10;变量a里面装的是数据数字 10。委托变量它里面装的不是数据而是方法动作/函数。回调通俗理解“回调”是一种动作就是“你先去忙事情办妥了我主动叫你”有问题的欢迎大家多多指教