首页
学习
活动
专区
圈层
工具
发布

.NET 面试准备:通过代码演练深入理解高级 C# 知识

在.NET面试中,你很可能会遇到各种各样的C#问题,这些问题构成了.NET开发的核心内容。这些问题通常涵盖设计模式、语言特性、语言集成查询(LINQ)、委托等多个方面。...一个类能否从两个或更多的基类继承? ** // 解释:这是不正确的,因为C#不支持类的多重继承。...一个类能否从两个或更多的抽象类继承? ** // 解释:这是不正确的,因为C#不支持抽象类的多重继承。...答案: 在LINQ中,通过使用DefaultIfEmpty()可以实现左外连接,以确保左表(或集合)中的所有记录都被包含进来,即便在右表中没有匹配项也不例外。...在C#中,能否向匿名类型的列表添加新项?为什么可以或不可以? 答案:匿名类型是在编译时创建的,一旦定义就无法修改。

49200
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C#与.NET

    C#从本质上来说,它是一门编程语言。他不是.NET体系的一部分。虽然C#总是用来生成.NET平台的代码。C#语言不能孤立的使用,必须与.NET平台一起使用。这样才能大大提高开发效率。...相对于C++,Java等语言,C#是一种比较新的语言。它是在吸收了C++和Java语言在设计上的优点设计出来的。从一开始C#就被设计为面向对象的开发语言。....NET Framework的核心是运行库执行环境,通常称之为公共语言运行库(CLR)。这是因为,Visual Basic以及Visual C++等都能与.NET平台做交互操作。...但是目前的事实是微软还没有使得.NET实现真正的跨平台。.NET Core提供了控制台程序以及Web程序的跨平台。 IL语言总是及时编译的(称为JIT),并不是解释性的。...但在C#里,这是不行的。正是强数据类化才实现了多种语言的互操作性。 在C#中没有指针存在,无需手动释放内存。垃圾回收器是.NET用来进行内存管理的。垃圾回收器采用的方式是将所有的内存都分配到堆上。

    95620

    MessagePack for C# (.NET Framework, .NET 8, Unity, Xamarin)

    它类似于 JSON,但通过二进制编码实现了更小的数据体积和更快的序列化/反序列化速度。 MessagePack for C# 这是一个为C#设计的极快的MessagePack序列化器。...它比MsgPack-Cli快10倍,并且优于其他C#序列化工具。MessagePack for C#还内置了对LZ4压缩的支持——一种非常快速的压缩算法。...请查看与JSON、protobuf、ZeroFormatter的对比部分,了解为什么MessagePack C#是最快的。 安装 这个库通过NuGet分发。也有特殊的Unity支持。...我们以.NET Standard 2.0为目标,并对.NET 8+和.NET Framework进行了特殊优化。 该库代码是纯C#(在某些平台上使用JIT IL代码生成或AOT安全源生成器)。...这可以通过对象序列化部分和格式解析器部分中的详细信息使其可选。 内置支持的类型 默认情况下,这些类型可以序列化: • 原始类型 (int, string 等...)

    24010

    必备 .NET - C# 异常处理

    您可以在其中了解 Microsoft .NET Framework 领域的所有最新动态,无论是 C# vNext 的最新进展(当前是 C# 7.0)、改进的 .NET 内部结构,还是 Roslyn 和...C# 6.0 新增了两种异常处理功能。首先,它支持异常条件,即能提供表达式通过在堆栈展开之前进入 catch 块,筛选出异常。其次,它在 catch 块内添加了异步支持。...在将异步添加到 C# 5.0 语言时,这是无法实现的。此外,之前五版 C# 和相应的 .NET Framework 中也有其他许多变更,在某些情况下这些变更非常重要,需要对 C# 编码指南进行编辑。...NET Framework 4.5 提供了专门用于处理这种情况的 System.Runtime.ExceptionServices.ExceptionDispatchInfo 类,它是通过使用静态 Capture...然而,在 C# 1.0 之前,如果通过方法调用(驻留在程序集中,而不是在 C# 中编写)引发非源自 System.Exception 的异常,则 catch(System.Exception) 块不会捕获异常

    2.9K60

    .NET、C#基础知识

    在c#中object类: 1、类Object是 .NET Framework 中所有类、结构、枚举和委托的最终基类。 2、C#通常不要求类显示声明从 Object 的继承,因为继承是隐式的。...然后,可以调用类型的方法或访问其字段和属性 (就如:实例化对应的类,然后通过实例字段获取对应的方法)序列化:序列化是将对象转换为容易传输的格式的过程。...C#中的构造函数:   每次创建类或结构,将会调用其构造函数。类或结构中可以创建多个不个不同参数的构造函数,程序员可以对不同构造函数设置默认值,约束条件,并编写灵活易读的代码。...和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。...总结:    这篇总结就先到这里,推荐大家学习《CLR via C#》和《.net软件之美》对C#了解到深入有很大的帮助。

    2.1K10

    OFFENSIVE LATERAL MOVEMENT 横向移动(译文)

    通过使用端口135上的远程过程调用(RPC)进行通信以进行远程访问(以及以后的临时端口),它允许系统管理员远程执行自动管理任务,例如远程启动服务或执行命令。它可以通过wmic.exe直接进行交互。...如果您是远程用户,则需要通过DCOM或WMI完成。...MSBuild用于通过提供架构的XML文件来compile/build C# applications。...,然后把远程通过WMI来用MSBuild来远程编程C#的XMLfile.xml wmic /node:LADWIN.lab.local /user:LAB\administrator /password...这是通过对目标C $共享具有SMB的上载特权(即管理权限)来实现的,然后您可以将其无阶段的二进制文件上载到并通过wmic或DCOM执行。 请注意,beacon 没有“check in”。

    4.7K10

    C# .NET面试系列六:ASP.NET MVC

    Razor View Engine由Microsoft开发,它结合了C#或VB.NET代码与HTML标记,使开发人员能够以更简洁和直观的方式创建动态Web内容。...Razor的主要特点包括:1、混合代码和标记Razor允许开发人员在HTML标记中嵌入C#或VB.NET代码,从而实现动态生成内容。2、轻量级和简洁Razor语法相对简单,使得代码更加易读和易写。...C#的动态类型来实现。...4、更好的代码块集成1)Razor对C#代码块的集成更加紧密,使得在视图中编写逻辑和控制流更为自然。2)使用@{ }块可以在Razor视图中包含复杂的C#代码,而不需要额外的标记。...这些过滤器可以通过全局配置(FilterConfig.cs)、控制器级别的特性标记或动作方法级别的特性标记来使用。

    35010

    C# .NET面试系列七:ASP.NET Core

    在.NET中,你可以使用C#类来表示领域模型的各个方面。...在.NET中,你可以使用C#类来表示聚合根,并通过领域事件等机制来维护聚合的一致性。...在.NET中,通过使用C#和相关的技术,可以更自然地映射领域模型和业务需求,从而实现更高质量的软件系统。3. ASP.NET Core 比 ASP.NET 更具优势的地方是什么?...通过使用 Map 方法,你可以根据不同的路径或条件,将请求分发给不同的中间件处理,从而实现对请求的分支处理。这对于构建具有不同功能区域的应用程序或实现条件性的中间件执行非常有用。...ASP.NET Core项目如何设置IP地址和端口号?在ASP.NET Core项目中,你可以通过配置文件或代码的方式设置IP地址和端口号。

    1.4K10

    .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体

    5 WebView2运行时与分发应用 .NET混合开发解决方案6 检测是否已安装合适的WebView2运行时 .NET混合开发解决方案7 WinForm程序中通过NuGet管理器引用集成WebView2...控件 .NET混合开发解决方案8 WinForm程序中通过设置固定版本运行时的BrowserExecutableFolder属性集成WebView2控件 .NET混合开发解决方案9 WebView2...控件的导航事件 .NET混合开发解决方案10 WebView2控件调用网页JS方法 .NET混合开发解决方案11 网页JS调用C#方法   在前一篇博客《.NET混合开发解决方案11 网页JS调用C...下面通过一个Demo来讲解如何实现JS调用C#方法。 业务场景:JS调用C#方法,传递三个参数,分别是num1、num2、message。...Frm4JSCallWinForm 类是两个独立的类,CustomWebView2HostObject 类无法直接获取当前正在运行的Frm4JSCallWinForm 对象,我们知道一个类中的静态变量或属性可以通过类名称直接访问

    3K40

    .NET 如何通过 HttpWebRequest 上传文件

    在 .NET 中,可以通过 HttpWebRequest 类实现文件的上传。HttpWebRequest 是一个用于发送 HTTP 请求的类,它可以用于与 Web 服务器进行通信,包括上传文件。...NET 提供了多种方式来实现文件上传,其中最为经典的一种方式是通过 HttpWebRequest 类来手动构造上传请求。...服务器返回 400 错误这通常是因为请求头或请求体格式不正确。检查 Content-Type 是否设置正确,以及请求体的边界分隔符是否与表单字段匹配。...SSL/TLS 问题如果上传时遇到 SSL 证书问题,可以通过修改 ServicePointManager.SecurityProtocol 来强制使用 TLS 1.2 或 TLS 1.3。...安全性和最佳实践避免暴露敏感信息文件上传时,避免将敏感信息通过 URL 传递或暴露在请求头中。通过使用 HTTPS 协议可以确保上传的数据在传输过程中不被窃取。

    4.5K20
    领券