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

.NET基础面试题整理

(1).net用于代码编译和执行集成托管环境,换句话,它管理应用程序运行方方面面,包括首次运行编译,为程序分配内存 存储数据和指令,对于应用程序授予或拒绝相应权限,并启动管理应用程序执行,剩余内存分配...GC是什么,简述一下GC工作方式? JIT:Just in time,C#或者是VB.NET代码首先被编译为IL存储本地,当要运行这些代码时候,CLR对IL进行第二次编译转换成机器码运行。...NET BCL中有哪些常见异常?代码您是如何捕获/处理异常“catch (ex)”,“throw”和“throw ex”有什么区别?您会如何设计异常结构,什么情况下您会抛出异常?...C# 3.0,Lambda表达式是什么?扩展方法是什么?LINQ是什么?您觉得C# 3.0还有哪些重要特性,它们带来了什么优势?BCL哪些类库和这些特性有关?您平时最常用哪些?.../当前目录,~/应用程序目录 023 数据库查询性能优化 1)select返回需要列 2)减少使用列同时,考虑减少行,使用where子句 3)需要时候用order by 4)避免from

1.6K21

通过修改环境变量修改当前进程使用系统 Temp 文件路径

Windows 系统提供了一个 Windows 单个用户下全局 Temp 文件夹,用于给各种不同应用程序提供一个临时目录。...但是,直到 Windows 10 推出存储感知功能之前,这个文件夹都一直归各个应用程序自己管理,应用自己需要删除里面的文件。另外,进程多了,临时文件也会互相影响(例如个数过多、进程读写竞争等等)。...本文介绍将自己当前进程 Temp 文件临时修改到应用程序自己一个临时目录下,避免与其他程序之间各种影响,同时也比较容易自行清理。...---- 如何修改 Temp 文件路径 程序启动时候,调用如下方法: 1 2 3 var newTempFolder = @"C:\Walterlv\ApplicationTemp"; Environment.SetEnvironmentVariable...而 .NET 此 API 使用是 tmp 前缀,所以所有的 .NET 程序会共享这 65535 个文件累计;其他程序使用其他前缀使则分别累计。

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

.NET WebShell 免杀系列之Unicode编码

同时,如果被编码字符大部分是 ASCII 字符,因为占用一个字节,UTF-8 也最节省空间 .NET 设计过程中就考虑了对 Unicode 字符支持,char是 .NET Framework ...它在内存占用 2 个字节,取值范围为 0-65535,UTF8将每个Unicode标量值映射成一到四个无符号8比特编码单元,这是一种变长编码方案,码位大于\xFFFF字符,使用4字节存储小于等于...\xFFFF大于\x07FF使用3字节,小于等于\x07FF大于\x007F使用2字节,小于等于\x007F使用1字节,因为UTF8性能效率都很高,所以很多网站和应用程序、媒体设备都使用它。...-16字符集 一种变长编码格式,码位大于\xFFFF字符,使用4字节存储小于等于\xFFFF字符,使用2字节存储,将Process.Start方法使用UTF16编码为:Process....="utf-8" trace="false" 分别用安全狗和D盾测试免杀效果,同目录下还有另外3个文件,aspx.aspx 是经典Jscript一句话木马,aspxspy.aspx 看文件名就知道是经典大马

1.5K30

路径,文件目录,IO常见操作汇总

某些系统上,文件路径可以包含扩展名,扩展名指示文件存储信息类型。文件扩展名格式是与平台相关;例如,某些系统将扩展名长度限制为 3 个字符,而其他系统则没有这样限制。...Debug.WriteLine("主程序:已完成");     问题4:如何创建临时文件;     解决方案:     有时需要在特定用户临时目录下创建一个临时文件,这要求该文件具有唯一名称...,避免与其它程序生成临时文件相冲突。...你可以创建一个这样程序它定期区检测指定目录,此时会发现有件事情你苦恼:检测得越频繁,就会浪费越多系统资源;而检测得越少,那么检测到变化时间就会越长。    ...这时要用到System.IO.IsolatedStorage命名空间中类,这些类允许你程序特定用户目录下将数据写入文件而不需要直接访问硬盘驱动器权限: // 创建当前用户独立存储

1.5K40

从零开始制作 NuGet 源代码包(全面支持 .NET Core .NET Framework WPF 项目)

如果你希望真实项目当中测试,可以阅读其他博客了解如何在本地测试 NuGet 包。 第五步:加入 WPF 项目支持 截至目前,我们只是源代码包引入了 C# 代码。...为什么可能有多个引入 C# 源代码编译目标?因为本文我们考虑了引入我们提前准备好源代码放入源代码包,而我们提到过可能涉及到动态生成 C# 源代码需求。...但是,我们没有其他方法来根据 XAML 文件所在目录层级来自定指定 Link 属性正确层级上,所以这里才写死目录。...然而此临时项目编译期间是不会导入任何 NuGet props 或 targets 文件,这意味着我们特别添加所有 C# 源代码在这个临时项目当中都是不存在——如果项目使用到了我们源代码包源代码...-- 在编译结束后将生成可执行程序放到 Tools 文件,使得 Assets 文件目录结构与 NuGet 包非常相似,便于 Sample 项目进行及时 NuGet 包调试。

66120

Flutter开发 - 数据持久化

2、文件存储某种介质(比如磁盘)上指定路径、具有文件一组有序信息集合。...2.1、Flutter 提供了两种文件存储目录,即临时(Temporary)目录与文档(Documents) 目录: 临时目录是操作系统可以随时清除目录,通常被用来存放一些不重要临时缓存数据。...文档目录则是只有删除应用程序时才会被清除目录,通常被用来存放应用产生重要数据文件。...3、使用Sqflite轻量数据库 SharedPrefernces 使用固然方便,但这种方式适用于持久化少量数据场景,我们并不能用它来存储大量数据,比如文件内容(文件路径是可以)。...就像其他数据库,SQLite 引擎不是一个独立进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。 为什么要用 SQLite?

1.6K40

C#项目里每个文件含义你都知道吗?

obj是object缩写,用于存放编译过程中生成中间临时文件。...其中都有debug和release两个子目录,分别对应调试版本和发行版本,.NET,编译是分模块进行,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。...Properties文件夹 定义你程序属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 类文件,用于保存程序信息,如名称,版本等,这些信息一般与项目属性面板数据对应,不需要手动编写....csproj C#项目文件,用VS打开这个文件就可以直接打开这个项目,自动生成,不需要看。   .csproj.user 是一个配置文件,自动生成,会记录项目生成路径、项目启动程序等信息。...此文件存储父项目目录.解决方案文件,他是一个或多个.proj(项目)集合   *.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项磁盘上位置引用

59320

Unity3D 入门:使用 Visual Studio 开发 Unity C# 脚本,说说根目录那些 sln 和 csproj 文件

本文介绍 Unity3D 项目根目录 sln 和 csproj 文件,你将知道如何正确理解和使用它们。...对于传统 .NET/C# 开发者来说,解决方案管理 NuGet 包, C# 项目中引用 dll 或 NuGet 包是家常便饭。...那我们目录看到那些 sln 和 csproj 文件是什么? 那只是 Unity 编辑器为了你方便写 C# 代码临时生成给你用。...但 Visual Studio 各种功能激活后就会让我们这样入门开发者产生误会,认为这其实就是 C# 项目,会尝试真的对这些项目进行可能超出 Unity 功能范围修改。...真正在编译完成放到游戏中运行,是 Assets 文件文件。而外面的 sln 和 csproj 文件,应该加入到 .gitignore 文件,从版本管理忽略掉。

89150

C#项目里每个文件含义你都知道吗?

obj是object缩写,用于存放编译过程中生成中间临时文件。...其中都有debug和release两个子目录,分别对应调试版本和发行版本,.NET,编译是分模块进行,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。...Properties文件夹 定义你程序属性 项目属性文件夹 一般只有一个 AssemblyInfo.cs 类文件,用于保存程序信息,如名称,版本等,这些信息一般与项目属性面板数据对应,不需要手动编写....csproj C#项目文件,用VS打开这个文件就可以直接打开这个项目,自动生成,不需要看。   .csproj.user 是一个配置文件,自动生成,会记录项目生成路径、项目启动程序等信息。...此文件存储父项目目录.解决方案文件,他是一个或多个.proj(项目)集合   *.sln:(Visual Studio.Solution) 通过为环境提供对项目、项目项和解决方案项磁盘上位置引用

42120

Python入门必备:细讲Python推导式

如图: 现在需要把多个这样文件所有数值拿出来,然后把小于50数值筛选出来作为结果,并且标注每个数值来源文件。...现在需求不仅仅过滤小于50数值,而是取出"小于所在文件所有数值平均",并且结果需要显示该文件平均值。...下面是推导式解决方法: - 推导式最大问题在于无法在过程建立临时变量 - 这个需求下,由于没法用临时变量保存一个文件平均值,因此导致多次求平均,不仅代码结构乱,而且效率还很低。...如图为C#Linq,特点是他允许在过程定义临时变量。 可以看到,如果Python推导式加入这样语法功能,那么本文说推导式缺点就不再出现。Python推导式未来进化值得期待。...Python,推导式很多时候被当作是否熟悉Python标志之一,同时推导式也存在许多争议,我们应该清楚了解推导式再谈如何应用,毕竟任何技术都必需适当地方才能发挥最大作用。

50120

vs2015编写c#项目下各文件解析 vs项目结构解析vs项目结构解析

4、bin文件夹  obj文件夹 Visual Studio 编译时,bin 目录下有debug 和 release 目录。...obj目录用于存放在编译过程中生成中间临时文件,其中也都有debug 和 release 两个子目录, 分别对应调试版本和发行版本。....NET,编译是分模块进行,每个模块编译结果都保存在了Obj 目录下。最后会合并为一个.exe 或者 .dll 文件保存到 bin 之中。...因为每次编译都是增量编译,也就是重新编译改变了模块,所以,这个Obj 目录作用就是保存这些小块编译结果,加快编译速度。....vshost.exe.manifest 文件: 是一个以.manifest为后缀XML文件,用于组织和描述隔离应用程序及并行组件,用于COM类、接口及库绑定和激活,而这些信息,以往都是存储注册表

2.8K52

2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

Lua如何调用C# 2. 资源如何打包?依赖项列表如何生成? 3. 如何解析版本文件如何加载AB包资源?具体流程是怎么样? 4. 热更新方案有哪些?以及具体热更流程 5....C# 没有头文件和 #include 指令:using 指令用于引用其他未完全限定类型名命名空间中类型。 C# 局部变量初始化前不能使用。...如何已经存在GameObjectLoadLevel后不被卸载掉?...多线程程序同时运行多个线程 ,而在任一指定时刻 有一个协程在运行,并且这个正在运行协同程序 必要时才被挂起。 除主线程之外线程无法访问Unity3D对象、组件、 方法。...//类库,对Asset文件夹下文件进行操作,获取相对路径,获取所有文件,获取相对依赖项 Directory //类库,相关文件夹路径目录进行操作,是否存在,创建目录,删除等操作 2.

22.6K1730

为什么Python这么慢?

然而,Python速度上完全没有优势可言。 速度上,Java如何同C,C++,C#或者Python相比较?答案几乎完全取决于要运行应用。...这就是为什么CPython创造“临时”变量不会使应用占用大量存储空间——尤其是当应用中使用了for循环这一类可能大量创建“临时”变量结构时。...Jython没有GIL,因为JythonPython线程是用Java线程表示,这得益于JVM内存管理系统。 JavaScript是如何做到这一点呢?...这个步骤不仅仅应用于脚本文件,也应用于所有导入代码,包括第三方模块。 所以大多时候(除非你写代码运行一次),Python是解释字节码并且本地执行。...那么,如果Python用是和Java和C#一样虚拟机和某种字节代码,为什么基准测试它却慢得多?首先,.NET和Java是采用JIT编译

1.1K40

bash脚本编程

(可以回收) 内存:编址存储单元 进程:临时存储数据要用到变量 映射表:变量名和物理地址映射 变量类型: 事先确定数据存储格式和长度 字符 数值 整型 浮点型:11.23(1.12310...练习:写一个脚本: 1.使用一个变量保存一个用户名 2.删除此变量用户,且一并删除其家目录 3.显示“用户删除完成”类信息。...bash如何实现条件判断: 条件测试类型: 整数测试 字符测试 文件测试 条件测试表达式: [ expression ] (注意空格) [[ expression ]] test...测试文件是否为普通文件 -d file 测试文件是否为目录 -r file 测试当前用户对指定文件是否有读取权限 -w file -x file [ -e /etc/inittab...,如果是普通文件,就显示 如果是目录,就显示目录,否则此为不能识别。

1.2K30

程序员开发者神器:10个.Net开源项目

LiteDB采用C#开发,是一个单文件库,支持事务、索引等,并提供了简单易使用接口,可以轻松地添加到任何项目中,为数据存储提供简单而有效解决方案。...项目主要特性 1、支持NoSQL文档存储; 2、提供类似MongoDB简单API; 3、支持.Net Framework、.Net Core,并且是一个小于450kb单DLL; 4、支持线程安全,...7、一个库你实现C#函数式编程 这个库大量扩展了C#方法,旨在提供一组类型安全且强大函数式编程扩展,看上去很像C#扩展,该项目的作者希望,函数式编程更容易、更简洁、更高效,并且使用中保持类型安全...8、.NET开源项目PowerArgs,将命令行参数转换为.NET对象,程序更方便! PowerArgs是一个开源.NET库,用于将命令行参数转换为.NET对象,方便开发人员程序中使用。...支持表达式:工作流表达式支持这类场景,方便与特定应用程序数据进行交互。 支持长期运行工作流:工作流可以执行过程暂停,然后适当时候恢复执行。

39740

Unity面试题(包含答案)

四十三:如何已经存在GameObjectLoadLevel后不被卸载掉?...多线程程序同时运行多个线程 ,而在任一指定时刻只有一个协程在运行,并且这个正在运行协同程序必要时才被挂起。除主线程之外线程无法访问Unity3D对象、组件、方法。...1.值类型数据存储在内存;引用类型数据存储在内存,而内存单元存放堆对象地址。 2.值类型存取速度快,引用类型存取速度慢。...yield返回值控制何时恢复协同程序向下执行。协同程序在对象自有帧执行过程堪称优秀。协同程序性能上没有更多开销。 缺点:协同程序并非真线程,可能会发生堵塞。 七十四:什么是里氏代换元则?...对Grid和Table下子物体进行排序和定位 九十五:请简述NGUIPanel和Anchor作用 只要提供一个half-pixel偏移量,它可以一个控件位置Windows系统上精确显示出来

3.2K10

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

IL代码软件,Microsoft SDKs目录目录)来查看该程序元数据表和Main方法中间码。...现在CLR开始搜索程序集aa,首先它会从demo.exe控制台同一目录(也就是D:\Demo\Debug\)查找程序集aa,搜索文件名为aa.dll文件,如果没找到就在该目录下以程序集名称为目录目录查找...当然,你也可以通过配置文件config(配置文件存在于应用程序同一目录)人为增加程序集搜索规则: 1.在运行时runtime节点中,添加privatePath属性来添加搜索目录,不过只能填写相对路径...不过堆栈数据结构和其存储定义时间和空间上都紧密存储,这样能带来更高内存密度,能在CPU缓存和分页系统表现更好。故而访问堆栈速度总体来说比访问堆要快点。...,如调换a方法和b方法地址) 优化代码(相当于csc/optimize,优化IL代码调试难以进行,优化JIT代码) 输出路径(程序集输出目录,可选择填写相对路径目录或绝对路径目录) XML文档文件

2.7K63

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

IL代码软件,Microsoft SDKs目录目录)来查看该程序元数据表和Main方法中间码。...现在CLR开始搜索程序集aa,首先它会从demo.exe控制台同一目录(也就是D:\Demo\Debug\)查找程序集aa,搜索文件名为aa.dll文件,如果没找到就在该目录下以程序集名称为目录目录查找...当然,你也可以通过配置文件config(配置文件存在于应用程序同一目录)人为增加程序集搜索规则: 1.在运行时runtime节点中,添加privatePath属性来添加搜索目录,...不过堆栈数据结构和其存储定义时间和空间上都紧密存储,这样能带来更高内存密度,能在CPU缓存和分页系统表现更好。故而访问堆栈速度总体来说比访问堆要快点。...,如调换a方法和b方法地址) 优化代码(相当于csc/optimize,优化IL代码调试难以进行,优化JIT代码) 输出路径(程序集输出目录,可选择填写相对路径目录或绝对路径目录) XML文档文件

4.2K30

C#入门教程(二)–C#常用快捷键、变量、类型转换-打造C#

C#入门教程(一)–.Net平台技术介绍、C#语言及开发工具介绍-打造C#学习教程 上次教程主要介绍了.Net平台以及C#语言相关介绍。以及经典程序案例,helloworld程序。...(网络应用程序、移动端应用程序、网页前端都要打通)。加油~~ 一起努力。 .net技术教程目录:http://www.chengxiaoxiao.com/net 闲话不多说,本次教程开始。...一、复习: 1.新建项目:打开visual stdio 2013软件—-文件–新建—项目—控制台应用程序(为了更方便学习C#基础语法,把重心关注到语法上来,我们基础语法时,仅仅使用控制台应用程序)。...2.hello world程序主要代码: Console.Write(“hello world”); — 控制台程序显示hello world....double:双浮点类型,这也是存放小数类型。她有效数字比float多。15-16为有效数字。 3.如何存储变量: ? 通过这样一个形式我们就可以把等号后面的结果赋值给前面的变量。

1.2K50
领券