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

.NET周报 【6月第4期 2023-06-25】

本文带你了解long-running task调用async方法的姿势。...【英文】通过源链接改进 .NET 调试体验 - NDepend https://blog.ndepend.com/improved-net-debugging-experience-with-source-link...【日文】C# 12.0 的新增功能 https://ufcpp.net/study/csharp/cheatsheet/ap_ver12/ C# 12 引入的新功能的描述(当前为预览版)。...【日文】 .NET 字符串比较检测未指定的区域性 https://ufcpp.net/blog/2023/6/ca-specify-culture/ 当未指定区域性时,如何在字符串比较中发出警告/错误...网站、文档等 推文 Visual Studio 2022 17.6 ,GC 和 CPU 现在能够通过遥测看到高负载情况。 接下来的线程,我解释了它如何在什么样的系统中使用。

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

探索C# 10.0的关键新特性

;优点简化代码:Top-level Statements 可以减少应用程序冗余的代码,使代码更加简洁明了。...new 表达式时,我们省略了类型名 Person,而是 new 后面直接使用了目标类型 Person,编译器会自动推断出类型。...Constant interpolated strings(常量字符串)常量就是允许常量字符串中使用字符串,这在之前的 C# 版本是不允许的。...常量的语法和字符串的语法类似,但是占位符必须是常量字符串。通俗来讲,就是常量里面,某个字段可变。...在上面的示例,我们定义了一个常量字符串 Name 和一个使用字符串初始化的常量字符串 Greeting,其中占位符 Name 是一个常量字符串

22041

精:C#这些年来受欢迎的特性

字典初始化 异常过滤器 表达式体成员 nameof 操作符 空合并运算符 属性初始化 静态引用 字符串 我把范围缩小到三个突出的特性:字符串,空合并运算符和 nameof 操作符。...又是一个两难的选择,最终还是字符串获胜出。 空合并运算符很有用,它能让我少写代码,但不一定防止我的代码的错误。而使用字符串时,可以防止运行时出错。...使用 $ 符号插入字符串文字时,将启用 C# 字符串语法。相当于告诉 C# 编译器,我们要用到各种 C# 变量、逻辑或表达式来插入到此字符串。...另外,我们现在使用字符串重写 ToString 方法。作为一名开发人员,犯上述错误要困难得多。最后,我也可以表达式中进行格式化。...不明白这是谁设计的,希望有人向我解释,感觉就像是一个疏忽。因此,只有 Out 变量合我心意。 从 C# 版本1.0以来,try-parse 模式已经各种类型中出现了。

13930

C# 这些年来受欢迎的特性

字典初始化 异常过滤器 表达式体成员 nameof 操作符 空合并运算符 属性初始化 静态引用 字符串 我把范围缩小到三个突出的特性:字符串,空合并运算符和 nameof 操作符。...又是一个两难的选择,最终还是字符串获胜出。 空合并运算符很有用,它能让我少写代码,但不一定防止我的代码的错误。而使用字符串时,可以防止运行时出错。...使用 $ 符号插入字符串文字时,将启用 C# 字符串语法。相当于告诉 C# 编译器,我们要用到各种 C# 变量、逻辑或表达式来插入到此字符串。...另外,我们现在使用字符串重写 ToString 方法。作为一名开发人员,犯上述错误要困难得多。最后,我也可以表达式中进行格式化。...不明白这是谁设计的,希望有人向我解释,感觉就像是一个疏忽。因此,只有 Out 变量合我心意。 从 C# 版本1.0以来,try-parse 模式已经各种类型中出现了。

15020

编写干净的C#代码技巧

我们的例子,Visual Studio是C#最流行、最好的IDE之一。它是微软可靠的、完全的产品。一些开发人员也喜欢Rider IDE(付费)。使用这些IDE可以确保代码保持整洁。...需要的时候添加注释 这是我们所有开发人员都讨厌的事情,不是?然而,从长远来看,添加几行评论/描述的方法确实帮助你和其他开发人员。...换句话说,不要在应用程序中使用硬编码的字符串。当应用程序增长时,跟踪这些字符串是很困难的。此外,这些字符串可以与某种外部引用相关联,如文件名、文件路径、URL等。...这个操作符C#称为Null合并操作符。 考虑另一个例子,下面是一个接受Student对象作为参数并检查空对象的小函数。如果为空,返回一个带有数据的新对象,否则返回相同的对象。...new Student() { Name = "Jay Krishna Reddy" }; } 首选字符串 每次您要向字符串添加动态时,我们都倾向于使用复合格式或仅使用加号将其添加。

19930

Entity Framework Core 2.0 新特性

所以版本2.0,我们引入了一种依赖注入中注册自定义DbContext类型的新方式,它透明地引入了一个可重用的DbContext实例池。...这在思想概念上类似于ADO.NET连接池的运作方式,并且节省DbContext实例初始化成本。 2.2显式编译查询 这是一个可选的性能功能,主要是为了大规模场景中提供优势。...3.3FromSql和ExecuteSqlCommand字符串 C#6(C#6.0特性请移步:这里)引入了字符串,这是一个允许C#表达式直接嵌入到字符串文字的功能,提供了一种在运行时构建字符串的好方法...EF核2.0,我们增加了对字符串的特殊支持,我们接受原始的SQL字符串两个主要的API:FromSql和ExecuteSqlCommand。...这种新的支持允许以“安全”的方式使用C#字符串。这样就可以防止在运行时动态构建SQL时发生的常见SQL注入攻击.

3.8K90

.NET周报 【6月第1期 2023-06-04】

其中一个重要的特征数据是废气的氮氧化物浓度。为了连续监测此,之前的模型也提供了一个独立单元作为改装套件。...停放区的储罐 带有PalThree的储罐的近景 *安装了PalThree的储 罐沙漠中部署* 为PalThree供电的太阳电池板 产品外壳的PalThree 【案例三】太阳电厂远程监控与控制...公司: Neshtec 应用行业: 太阳电厂 Neshtec首次一个项目中使用了他们自己新开发的硬件平台Neshtec-Control。...检测是否全球化不变模式下运行的技术。...【英文】.NET 微优化和重构技巧 - NDepend https://blog.ndepend.com/net-micro-optimization-and-refactoring-trick/ 介绍了字符串用作字典的键时如何使用

18340

C Sharp(一)

这次我打算边复习边将 C# 的概念与其他语言做一下对比,以方便有其他语言基础的同学可以更好地理解 C# 的相似概念。...语法上只需要一条语句,而一条语句无法表达时,就需要使用块 某些特定的程序结构只能使用块 虽然简单语句以号结尾,但块后面不跟分号(这样会多解析一条空语句) 字符串 新版 C# 可以使用字符串,类似...JavaScript 字符串: var a = 10; var b = 20; var str = $"a + b= {a + b}"; 注释 C# 允许三种注释: 单行注释 // 多行注释...类型的对象,或者引用类型的 引用部分,可能存储栈内存,也可能存储堆内存,取决于执行环境 C# 类型分类 预定义类型: 对于简单类型都是类型,非简单类型都是引用类型 用户定义类型: struct...和 enum 类型是类型,其他 4 种是引用类型 变量 C# 提供了 4 变量: 本地变量 字段 参数 数组元素 变量使用前必须声明。

1.5K30

C# 7.0简而言之 -- 02. C#基础 (1)

转换 C# 允许兼容类型的实例间进行转换, 每次转换肯定会从当前的创造出一个新的....] 与之相对的, 类型不可以为null: [image.png] 存储开销 类型的实例精确地占用了它的字段所需要的内存, 例如 Point就占用了8字节: [image.png] 引用类型需要为引用和对象分配单独的内存...针对非字符串类型的变量使用+时, 会自动调用其的ToString()方法: string s = "a" + 5; //a5 字符串 字符串前边使用 $ 符号就是字符串....下面这个就是字符串: int x = 4; Console.WriteLine($"A square has {x} sides"); // A square has 4 sides 其实也是调用了...hex is FF 字符串只能是单行的, 除非结合@一起用, 但是$必须在@前边: int x = 2; string s = $@"this spans { x} lines"; 字符串里面显式括号的话需要输入两遍

992120

C# 基础知识

封装是OOP编程的一个重要手段,就是指把具体实现的逻辑细节在内部隐藏起来,对外部只暴露公共的、规范的接口和调用方法, 从而隐藏实现细节,使使用的时候不用去考虑其内部的运作模式等等具体细节。...private、protected、internal、public、protected internal,缺省时为private private限制方法本类访问,不能在本项目的其它类和外项目访问...protected限制方法本类和其子类,包括外项目的子类访问(直接调用,无需实例化);不能在本项目和其他项目的无继承关系类,以及通过实例调用访问 internal限制方法项目内部所有的类访问...字符串转整形编写函数? 5. 整形数组获取最大序号?有重复最大如何做?...9.你项目中承担什么角色?做了那些事 10.你的项目用了什么设计模式? 11.架构有没有涉及,自己设计出来? 12.检测结果如何分类?接口怎么做的? 13.tcp和udp的区别?

50520

【译】C# 11 特性的早期预览

11 预览:允许字符串的“孔”换行 提案阅读有关此更改的更多信息,删除非逐字字符串不能包含换行符的限制。...它们之间的一个关键区别是非逐字字符串不能在其文本段包含换行符,而必须使用转义符(如 \r\n)。逐字字符串可以在其文本段包含换行符,并且不会转义换行符或其他字符(除了“”来转义引号本身)。...以前,这些限制扩展到非逐字字符串的孔。孔是表示表达式的简写方式,是花括号内提供运行时值的部分。孔本身不是文本,不应遵守内插字符串文本段的转义/换行规则。...我们正在考虑 IEnumerable 类型上添加对列表模式的支持。如果您有机会使用此功能,请告诉我们您对此的想法。 C# 11 预览:参数空检查 提案参数空检查阅读有关此更改的更多信息。...总结 Visual Studio 17.1 和 .NET SDK 6.0.200 提供了对 C# 11 的早期了解。您可以字符串的花括号(孔)内使用参数空检查、列表模式和新行。

1.6K60

你的C#代码是怎么跑起来的(二)

接上篇:你的C#代码是怎么跑起来的(一) 通过上篇文章知道了EXE文件的结构,现在来看看双击后是怎样运行的: 双击文件后OS Loader加载PE文件并解析,PE Optional Header里找到基地址和...程序执行到哪里就编译到哪里,没有执行到的就不会加载和编译,同样的代码再次执行的话就直接在内存里拿了,这也是为什么第一次运行C#时比较慢而后面就快的原因。...在运行时确保类型安全。...,有人要问了,刚才hashcode不是用了这26位,现在变了,hashcode岂不是丢了。...确实,hashcodelock之后不能直接存到索引了,不过同步块中专门准备了一个字段用来存hashcode,所以可以转移到同步块,这样设计是为了节省内存,因为大部分情况下是不用lock的,也就不需要增加多余的同步块

1.1K90

C# 11 都有哪些新特性?

前言 .NET 首席项目经理凯瑟琳博客中介绍了 C# 11 的一些预览性新功能,这些功能可以 Visual Studio 17.1 和 .NET SDK 6.0.200 中体验,下面摘录一部分新特性作介绍...: C# 11 预览:允许在内插字符串的“表达式”换行 (interpolated strings)是 C# 6.0 引入的语法,它**允许字符串插入表达式。...**C# 的内插字符串分为非逐字和逐字内插字符串(分别是 "" 和 但是,非逐字字符串的“换行符限制”,从字符串文本扩散到了文本之外的 表达式 ,这导致了很多不必要的限制。..."; 但在 C# 11 预览版,它是合法的,可以正常编译。 关于该新特性的详细讨论可查看 GitHub Issue #4935。...C# 11 预览:新的参数空检查 C# 11 提供了一种简化的语法,用于验证方法的参数不是 null ,以及正确抛出 ArgumentNullException。

21710

用心做软件—细节决定成败「建议收藏」

但是在用户的眼中呢,用户会在乎你到底用了多少高级的技术、用了什么前卫的技术?...我想大部分用户是不会管的,无论你是C#做的,Java做的,C++还是C做的,你的系统是Windows还是Linux,android还是塞班。...使他们技术先进,工艺先进?也许有一部分这方面的原因,但是肯定不是主要原因,试想都是富士康生产的,不同的品牌到哪里去呢?还是细节的问题,所谓细节决定成败,就体现在这里。...反观我们身边,同样是做软件的为什么有的软件赚到很多钱,有的软件默默无闻Game Over了。再上升一个高度,为什么有的国家的产品风靡全球,而有的国家只会山寨。...是人不够聪明?绝对不是,大家都是地球人,谁能比谁聪明多少。主要的原因还是不用心,没有用心做产品的意识,没有在做产品达到锱铢必较,反而将聪明用到了其它地方。 同时我们身边做软件的大小公司。

31620

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

C# 只能在unsafe不安全模式下才使用指针。 C# 以不同的方式执行重载运算符。 字符串C# 字符串不同于 C++ 字符串。...该默认构造函数将所有字段初始化为它们的默认 C# ,方法参数不能有默认。如果要获得同样的效果,需使用方法重载。 35....StringBuilder对象在做字符串连接操作时是原来的字符串上进⾏修改,改善了性能。这⼀点我们平时使也许都知道,连接操作频繁的时候,使⽤StringBuilder对象。...所以,⽅法的声明, sealed修饰符总是和override修饰符同时使⽤。 delegate:委托。⽤来定义⼀个函数指针。C#的事 件驱动是基于delegate + event的。...然后运算实现动画效果,⻆色动画较真实。

22.1K1729
领券