首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

苏州同程旅游学长给我的全面的面试知识库

公开声明的变量或方法可在应用程序中的任何位置访问。静态声明的变量或方法可以全局访问,而无需创建类的实例。默认情况下,静态成员不可全局访问,这取决于所使用的修改的访问类型。...一个对象是一个类的实例,通过它我们可以访问该类的方法。“新建”关键字用于创建对象。在内存中创建对象的类将包含有关该类的方法,变量和行为的信息。...用户控件与ASP包含文件非常相似,并且易于创建。用户控件不能放置在工具箱中并从中拖放。他们有自己的设计和代码背后。用户控件的文件扩展名为ascx。 17、 C#中的密封类是什么?...21、描述可访问性修饰符“受保护的内部”。 受保护的内部变量/方法可在同一程序集中以及从该父类派生的类中访问。...29、 C#.NET中的泛型是什么? 泛型用于制作可重用的代码类,以减少代码冗余,提高类型安全性和性能。使用泛型,我们可以创建集合类。

3K20

Enterprise Library 3.1 介绍「建议收藏」

Enterprise Library 是一个应用程序块的集合。这些可重用的软件组件为帮助开发者解决普通企业开发的挑战而设计。...也可以很快且容易的添加到.NET应用程序中。例如,数据访问应用程序块提供了对最常使用的 ADO.NET 特征的访问,通过易用的类来暴露它们。...在某些情况下,应用程序块也加入了不直接受基本类库支持的功能。 目标 Enterprise Library 是一个为了由创建复杂企业级应用的开发人员使用的应用程序块的集合。...所有应用程序块都定义了扩展点,这些扩展点允许开发人员添加自己的代码来定制应用程序块的行为。 易于使用。...它提供了下列好处: 它提供一个为业务对象定义验证规则的通用方法,以允许它们在应用程序中跨各层中使用。 它提供了一个通用验证规则类型集,以及让开发人员容易的定义自己的规则类型的能力。

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

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    比如我在vb中写了一个针对String的首字母大写的扩展方法,将其编译后的dll引用至C#项目中。 在C#项目中,可以像自身代码一样正常使用来自vb这个dll的扩展方法。...比如我在C#中定义了一个基类,类里面包含一个公开的指针类型的成员,我想在vb中继承这个类,并访问这个公开的成员。...基础类库BCL包含:基本数据类型,文件操作,集合,自定义属性,格式设置,安全属性,I/O流,字符串操作,事件日志等的类型 什么是框架类库FCL? 有关BCL的就不在此一一类举。....这个多态的过程,对于CLR来说就是一系列指令的集合,所以不能纠结new一个子类对象是否会也会new一个父类对象这样的问题。...那么这其中就引入了两个概念: WeakReference弱引用、WeakEventManager弱事件 对于这2两个不区分语言的共同概念,大家可自行扩展百度,此处就不再举例

    4.6K30

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?

    比如我在vb中写了一个针对String的首字母大写的扩展方法,将其编译后的dll引用至C#项目中。 在C#项目中,可以像自身代码一样正常使用来自vb这个dll的扩展方法。...比如我在C#中定义了一个基类,类里面包含一个公开的指针类型的成员,我想在vb中继承这个类,并访问这个公开的成员。...基础类库BCL包含:基本数据类型,文件操作,集合,自定义属性,格式设置,安全属性,I/O流,字符串操作,事件日志等的类型 什么是框架类库FCL? 有关BCL的就不在此一一类举。....这个多态的过程,对于CLR来说就是一系列指令的集合,所以不能纠结new一个子类对象是否会也会new一个父类对象这样的问题。...那么这其中就引入了两个概念: WeakReference弱引用、WeakEventManager弱事件 对于这2两个不区分语言的共同概念,大家可自行扩展百度,此处就不再举例。

    2.8K63

    .NET、C#基础知识

    委托相当于c或者c++中的指针,委托能够把方法当做参数传递,并且提高程序的可扩展性。...3、因为 .NET Framework 中的所有类均从 Object 派生,所以 Object 类中定义的每个方法可用于系统中的所有对象。 派生类也可以重写这些方法中的某些。...C#面向对象思想主要包括:封装,继承,多态: 封装:用抽象的数据类型将数据类型和基本的方法操作封装在一起,在数据保护在抽象类型内部 (封装就是把数据或者函数集合在一个个的类中,封装的对象被称为抽象对象,...接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含实现的方法 .net中dataset和datareader的区别:   首先,datareader...接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。

    1.6K10

    .NET Framework 类库——C#命名空间大全

    NET Framework 类库是一个由类、接口和值类型组成的库,通过该库中的内容可访问系统功能。它是生成 .NET Framework 应用程序、组件和控件的基础。...System.Collections System.Collections 命名空间包含具有以下功能的类型:定义各种标准的、专门的、通用的集合对象。...子命名空间包含具有以下用途的类型:配置程序集,编写组件的自定义安装程序,支持用于在客户端和服务器应用程序中添加或删除功能的可插入模型。...子命名空间包含具有以下用途的类:扩展对消息类的设计时支持。...System.Xaml System.Xaml 命名空间包含具有以下功能的类型:支持解析和处理可扩展应用程序标记语言 (XAML)。

    2.9K20

    Protocol Buffer Basics: C#

    定义你自己的协议格式(protcol format)      你需要使用 .proto文件来创建地址薄应用程序.在 .proto文件内定义非常简单:为每一个你想序列化的数据结构添加一个message,...如果你想字段拥有预定义好的集合中的一个值,你可以定义枚举( enum)类型 -这里我们指定一个手机号,可以是 MOBILE, HOME, 或者 MOBILE, HOME, 。      ...2.现在运行你的编译器,指定源码目录(你的应用程序源码所在的文件夹-如果你不指定,会使用当前的文件夹目录),目标目录(生成代码保存的目录;一般和 $SRC_DIR是一样的),你的 .proto文件的路径...这个类型像 List一样,只是多了一些额外的便利方法,就像 Add方法的重载可以接收项的集合,用于集合的初始化。      ...然而,一般情况下你可以使用扩展方法之一来写入到一个常规的 System.IO.Stream或者把message转换成二进制数组或者 ByteString.这些扩展信息在 Google.Protobuf.MessageExtensions

    1.8K90

    EntityFramework数据持久化复习资料3、C#拓展方法与yield关键字使用

    开发环境 C#拓展方法 拓展方法示例 重写代码 应用代码 yield关键字 yield关键字示例 ---- 前言 微软官方提供的ORM工具,ORM让开发人员节省数据库访问的代码时间,将更多的时间放到业务逻辑层代码上...拓展方法 扩展方法是允许使用实例方法的调用语法来调用静态方法的语言功能。...扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法的定义与调用: 定义包含扩展方法的静态类,此类必须对客户端代码可见。...将扩展方法实现为静态方法,并且使其可访问性与所在类的可访问性一致。 扩展方法的第一个参数是指定方法所操作的类型、此参数前面必须加上this修饰符。...在调用代码中,添加using指令,用于指定包含扩展方法类的命名空间。 扩展方法的调用与调用类型的实例方法一样。 拓展方法示例 我们使用【控制台】项目来搞这个测试。

    55830

    《CLR via C#》笔记:第5部分 线程处理(2)

    (P645 last2) 图片 引入CLR C#的异步函数 执行异步操作是构建可伸缩的、响应灵敏的应用程序的关键,它允许使用少量线程执行大量操作。与线程池结合,异步操作允许利用机器中的所有CPU。...4、在查询表达式中,await操作符只能在初始from子句的第一个集合表达式中使用,或者在join子句的集合表达式中使用。...(P649 注解) 线程调用线程代码示例以及IL逆向工程后的结构。(P650-P652) 异步函数扩展性 在扩展性方面,能用Task对象包装一个将来完成的操作,就可以用await操作符来等待该操作。...生成Web服务代理类型的工具(比如SvcUtil.exe)也生成XxxAsync方法。 异步函数和异常处理 如果状态机出现未处理的异常,那么代表异步函数的Task对象会因为未处理的异常而完成。...控制台应用程序和 Windows服务(实际也是控制台应用程序;只是看不见控制台而已)没有引入任何线程处理模型;换言之,任何线程可在任何时候做它想做的任何事情。

    1.1K40

    C#复习题 单项选择题

    在类的定义中,类的( )描述了该类的对象的行为特征。 A. 类名     B. 方法     C. 所属的名字空间     D. 私有域 13. ...构造函数必须与类名相同         D. 构造函数不能带参数 25. C#程序的项目和解决方案的关系是( )。 A. 一个解决方案可包含若干项目 B. 一个项目可包含若干解决方案 C....用在方法的定义处,以指明该方法不返回任何值的关键字是( ) A. static B. string C. void D. public 29....C#语言使用using关键字来引用.NET预定义的命名空间 B. C#语言中使用的名称不区分大小写 C. C#中一条语句必须写在一行内 D. C#语言支持保护派生 56....C#程序的项目和解决方案的关系是( )。 A. 一个解决方案可包含若干项目              B. 一个项目可包含若干解决方案 C.

    4.4K20

    .NET 微服务 概念 应用 通讯 授权 跨域 限流

    由于它们是独立运行的,因此可以针对各项服务进行更新、部署和扩展,以满足对应用程序特定功能的需求。...当访问量大于服务器的承载量,我们不希望有服务器的灾难发生;在接收请求的初期,适当的过滤一些请求,或延时处理或忽略掉。...滑动窗口方式 随着时间的流逝,窗口逐步向前移动;窗口有宽度,也就是时长;窗口内处理的量,也就是量有上限。 数组存放每个请求的时间点;数组首尾时间差不超过定义时长;定义时长可接收的量。...// 定义一个方法(请求参数类,返回参数类) rpc Add(CreateProductRequest) returns (CreateProductResponse); rpc Query...项目;通过 proto 文件自动生成C#代码(于obj目录中) 5、编写对应的Service 继承于自动生成的抽象类,并实现其中抽象方法 public class ProductService : Producter.ProducterBase

    27520

    C#与Java

    这种函数式方法可以生成更具可读性和可维护性的代码,尤其是在以声明方式处理集合和定义行为时。...Java 中的 Optional 类是一个容器对象,它可能包含也可能不包含非 null 值。它用于表示存在或不存在的可选值。...扩展方法 C# 中的扩展方法是一项强大的功能,它允许您在不更改现有类型的情况下向现有类型添加新方法。它们在函数式编程中特别有用,用于创建流畅且富有表现力的代码。...定义扩展方法: 首先,您需要创建一个静态类来包含扩展方法: using System; public static class StringExtensions { // Extension...{result}"); } } 在此示例中,StartsAndEndsWith 方法是字符串类型的扩展方法。它在 StringExtensions 静态类中定义,可用于任何字符串对象。

    19710

    C#历来语法特性总结

    可以为SQL数据库、XML文档、ADO.NET数据集及实现了IEnumerable或IEnumerable接口的集合对象进行LINQ查询。 完整的查询包括创建数据源、定义查询表达式、执行查询。...对象、集合初始化列表 从C# 3开始,可以在单条语句中实例化对象或集合并执行成员分配。...使用对象初始化列表,可以在创建对象时向对象的任何可访问字段或属性分配值,可以指定构造函数参数或忽略参数以及括号。...6开始,对象初始化列表不仅可以初始化可访问字段和属性,还可以设置索引器。...元组是值类型的,是包含多个公共字段以表示数据成员的轻量级数据结构,无法为其定义方法。C# 7.3后元组支持==与!=。

    41740

    C# .NET面试系列二:面向对象

    抽象类和接口是两种在面向对象编程中用于实现多态性的机制,它们有一些关键的区别:定义:抽象类是一个包含抽象方法(至少一个抽象方法)的类,可以包含具体方法和字段。抽象类可以有构造函数和其他非抽象成员。...接口是一组抽象方法的集合,不包含字段和具体方法。接口定义了一种合同,实现该接口的类必须提供接口中定义的所有方法。...接口中的属性声明不包含属性的实现,而是由实现该接口的类来提供具体的实现。接口中的属性声明可以有不同的访问级别,例如 public、protected 等,取决于你希望在实现接口的类中如何访问这些属性。...总体而言,Property 用于定义类的结构和行为,而 Attribute 用于添加元数据信息,增加代码的可扩展性和灵活性。...能用 foreach 遍历访问的对象需要实现 接口或声明方法的类型在C#中,foreach 循环用于迭代可枚举集合中的元素。

    25510

    C#6.0 新增功能

    C# 6.0 版本包含许多可提高开发人员工作效率的功能。 这些功能的总体效果是让你编写的代码更简洁、更具可读性。 该语法不像许多常见做法那样繁琐。 可以更轻松地看出设计意图。...指定要使用的类: using static System.Math; Math 不包含任何实例方法。 还可以使用 using static 为具有静态和实例方法的类导入类的静态方法。...Dictionary 集合和其他类型一起使用,在这种情况下,可访问的 Add 方法接受多个参数。...11 集合初始值设定项中的扩展 Add 方法 使集合初始化更容易的另一个功能是对 Add 方法使用扩展方法。 添加此功能的目的是进行 Visual Basic 的奇偶校验。...如果自定义集合类的方法具有通过语义方式添加新项的名称,则此功能非常有用。 12 改进了重载解析 在以前的一些构造中,以前版本的 C# 编译器可能会发现涉及 lambda 表达式的一些方法不明确。

    1.7K20

    .NET周刊【5月第3期 2024-05-19】

    AutoMapper 是一个.NET 对象映射库,它的安装方法是通过 NuGet 包。你需要创建源对象和目标对象,并在映射配置文件中定义它们之间的映射规则。...Garnet 表现出更好的吞吐量、可扩展性和低延迟,在 Azure VM 上的测试中表现出色,且支持跨平台。...模块对应于源文件,包含类型、IL 和元数据。类型是包含字段、属性、方法等的代码结构。程序集包含模块,模块包含类型,类型属于单个模块。这些元素共同构成完整的.NET 应用程序。...泛型的基本语法包括泛型方法与类的定义及实例化,泛型接口、委托的声明和泛型约束的使用。泛型在集合类、数据结构、算法、数据库操作和网络编程等多个场景下都有广泛应用。...https://erikej.github.io/ef6/dotnet/2024/05/16/ef6-whatsnew.html Orleans 8 中针对可扩展分布式应用程序的新增功能 - .NET

    12300

    C# .NET面试系列八:ADO.NET、XML、HTTP、AJAX、WebService(一)

    C#(C Sharp):定义: C# 是一种由微软设计的面向对象的编程语言,专门为.NET 平台开发而创建。...以下是它们的区别和用途:Property(属性)1、定义Property 是一种 C# 中的成员,它提供了一种访问类、结构或接口成员的机制。...2、业务逻辑层(Business Logic Layer):职责: 包含应用程序的业务逻辑,负责处理用户请求并执行相应的业务规则。不直接与数据库交互,而是通过数据访问层进行。...可以独立扩展业务逻辑、表示层或数据访问层,而不影响其他部分。3、可重用性每一层的组件可以被独立重用。...提供了各种日期和时间的操作方法。常用的接口:1、IEnumerable定义了一个枚举器,用于循环访问集合中的元素。实现此接口的类可以使用 foreach 语句进行迭代。

    17410

    Python从入门到精通,这篇文章为你列出了25个关键技术点(附代码)

    Reduce 减少集合中的值,即得到一个更小的集合。如集合求和,它本质上是可迭代的。...17 面向对象设计——类 Classes Python 允许创建自定义类型,将这些用户自定义的类型称为类。这些类具有自定义属性和功能。...面向对象的设计允许程序员根据自身所需的属性和功能自定义创建对象。 属性也可以引用另一个对象。 Python 中的类可以引用其他类。 Python 支持封装 -- 实例函数和变量。...17 面向对象设计——继承 Python支持对象的继承,即对象可以继承其父类的功能和属性。 继承的类可以在其函数中包含不同的逻辑。...上例中两个子类都将包含 my_function() 函数 类的继承属性鼓励代码的重用性和可维护性。 此外,python 中支持多类继承,这与 C# 语言不同。

    2.9K20

    读书笔记 dotnet 的字符串在内存是如何存放

    # 和 C++\CLI 的应用来进行测试 本文将完全采用 .NET 6 进行编写,分别创建 .NET 6 的 C# 控制台程序,和 .NET 6 的 C++\CLI 空项目。...这里需要稍微说明的是 C++\CLI 是通过 C++ 编写的 .NET 应用程序,基于 .NET 运行时运行的程序 在 C++\CLI 项目里面添加一个叫 Foo 的类,在类里面添加一个方法,用来输出字符串的内容...期望是在此方法里面获取在 .NET 定义的字符串对象的实际存放字符的内存指针,实现方法如下 #include "Foo.h" #include #include "vcclr.h...OffsetToStringData 属性获取相对于字符串类型的地址的实际字符存放地址 尝试在 C# 项目里面调用刚才定义的 Foo 类型的 Output 代码,方法如下 class Program.../lindexi/lindexi_gd.git 获取代码之后,进入 CemholerecelQerrairdoway 文件夹 更多内存相关,我推荐伟明的 《.NET内存管理宝典 - 提高代码质量、性能和可扩展性

    71750
    领券