当前位置: 首页 > news >正文

做网站费用会计分录怎么做广西临桂建设局网站

做网站费用会计分录怎么做,广西临桂建设局网站,徐州网络建站模板,适合个人做的跨境电商作者#xff1a;Kathleen Dollard 排版#xff1a;Alan Wang C# 13 已初具雏形#xff0c;其新特性侧重于灵活性、性能以及使您最喜欢的功能在日常中变得更容易使用。我们以公开的方式构建 C##xff0c;在今年的 Microsoft Build 大会上#xff0c;我们会让您一睹 C# 13 … 作者Kathleen Dollard 排版Alan Wang C# 13 已初具雏形其新特性侧重于灵活性、性能以及使您最喜欢的功能在日常中变得更容易使用。我们以公开的方式构建 C#在今年的 Microsoft Build 大会上我们会让您一睹 C# 13 的精彩之处。今天我们想分享一下 C# 13 当前的状态以及您今天就可以尝试的新功能并提供有关此版本及以后计划中的功能更新。让我们更详细地了解这些新功能。 增强了 params 集合以实现更强的灵活性lock 对象索引运算符改进转义序列 \ePartial 属性方法组自然类型改进Async 方法和迭代器中的 ref 和 unsafe扩展类型更新 立即试用 C# 13 在我们深入研究 C# 13 的每个新功能之前您可能想知道如何使用它。 您可以在最新的 .NET 9 预览版撰写本文时为预览版 6和 Visual Studio 2022-17.11 的最新预览版中找到 C# 13 的最新预览版。若要访问预览功能请在项目文件中将您的语言版本设置为 preview Project SdkMicrosoft.NET.SdkPropertyGroup!--其他设置--LangVersionpreview/LangVersion!--其他设置--/PropertyGroup /ProjectParams 集合 C# 13扩展了 params 关键字使其适用于可以通过集合表达式构造的任何类型。无论是编写方法还是调用方法都增加了灵活性。 当 params 关键字出现在参数之前时对该方法的调用可以提供零个或多个值的逗号分隔列表。以下内容适用于所有版本的 C# public void WriteNames(params string[] names) Console.WriteLine(String.Join(, , names)); WriteNames(Mads, Dustin, Kathleen); WriteNames(new string[] {Mads, Dustin, Kathleen}); // 这两个都会输出Mads、Dustin、Kathleen请注意您可以使用逗号分隔的值列表或基础类型的对象来调用该方法。 从 C# 13 开始params 参数可以是集合表达式支持的任何类型。例如 public void WriteNames(params Liststring names) Console.WriteLine(String.Join(, , names));每当调用具有 IEnumerable 参数的方法时都可以传递 LINQ 表达式的结果。如果 IEnumerable 参数具有 params 修饰符还可以传递逗号分隔列表。当有常量可以使用逗号分隔列表当您需要 LINQ 表达式时您可以使用它 public void WriteNames(params IEnumerablestring names) Console.WriteLine(String.Join(, , names)); var persons new ListPerson {new Person(Mads, Torgersen),new Person(Dustin, Campbell),new Person(Kathleen, Dollard) }; //以下所有输出Mads、Dustin、Kathleen WriteNames(Mads, Dustin, Kathleen); WriteNames(persons.Select(person person.FirstName)); WriteNames(from p in persons select p.FirstName);重载解析 编写方法时可以提供多个 params 重载。例如添加 IEnumerable 重载可支持 LINQ添加 ReadOnlySpan 或 Span 重载可减少分配从而可以提高性能。 public void WriteNames(params string[] names) Console.WriteLine(String.Join(, , names)); public void WriteNames(params ReadOnlySpanstring names) Console.WriteLine(String.Join(, , names)); public void WriteNames(params IEnumerablestring names) Console.WriteLine(String.Join(, , names));当传递指定类型之一时将使用该重载。当传递逗号分隔值或不传递任何值时将选择最佳重载。使用上述重载 // 使用 IEnumerable 重载 WriteNames(persons.Select(person person.FirstName)); // 使用数组重载 WriteNames(new string[] {Mads, Dustin, Kathleen}); // 使用最有效的过载当前为 ReadOnlySpan WriteNames(Mads, Dustin, Kathleen); 多重重载可以增加便利性并提高性能。库作者应该为所有重载提供相同的语义这样调用者就不需要关心使用了哪个重载。 Lock 对象 .NET 9 包含一种新的用于互斥的 System.Threading.Lock 类型比仅在任意 System.Object 实例上进行锁定更有效。System.Threading.Lock 类型提案详细介绍了该类型及其创建原因。随着时间的推移该类型有望成为 C# 代码中大多数锁定的主要机制。 C# 13 使该类型的使用变得简单。当编译器识别出 lock 语句的目标是 System.Threading.Lock 对象时C# 就会生成对 System.Threading.Lock API 的调用并在 Lock 实例可能被错误地视为普通 object 的情况下提供警告。 此更新意味着 lock 语句的熟悉语法利用了运行时中的新功能。熟悉的代码只需进行少量更改即可变得更好。只需将项目的 TargetFramework 更改为 .NET 9并将 lock 的类型从 object 更改为 System.Threading.Lock public class MyClass {private object myLock new object();public void MyMethod() {lock (myLock){// 您的代码} } } public class MyClass {// 以下行是唯一的变化private System.Threading.Lock myLock new System.Threading.Lock();public void MyMethod() {lock (myLock){// 您的代码} } }从初始化器末尾开始的索引 索引运算符 ^ 允许您在可计数集合中相对于集合末尾指定一个位置。这现在适用于初始化器 class Program { static void Main(){var x new Numbers{Values {[1] 111,[^1] 999 // 从 C# 13 开始的工作}// x.Values[1] 为 111// x.Values[9] 为 999因为它是最后一个元素};} } class Numbers {public int[] Values { get; set; } new int[10]; }转义序列 \e C# 13 为众所熟知的 ESCAPE 或 ESC 字符引入了新的转义序列。以前您必须将其输入为 \u001b 的变体。当使用 VT100/ANSI 转义码与 System.Console 的终端交互时此新序列特别方便。例如 // C# 13 之前版本 Console.WriteLine(\u001b[1mThis is a bold text\u001b[0m); // 使用 C# 13 Console.WriteLine(\e[1mThis is a bold text\e[0m);这使得创建精美的终端输出变得更容易并且更不容易出错。 Partial 属性 C# 13 添加了 partial 属性。与 partial 方法一样它们的主要目的是支持源生成器。Partial 方法已在许多版本中可用并在 C# 9 中进行了额外的改进。Partial 属性与它们的 partial 方法非常相似。 例如从 .NET 7C# 12开始正则表达式源生成器为方法创建高效的代码 [GeneratedRegex(abc|def)] private static partial Regex AbcOrDefMethod(); if (AbcOrDefMethod().IsMatch(text)) {// 使用匹配的文本采取行动 }在 .NET 9C# 13中Regex 源生成器已更新如果您更喜欢使用属性您也可以使用 [GeneratedRegex(abc|def)] private static partial Regex AbcOrDefProperty { get; }; if (AbcOrDefProperty.IsMatch(text)) {// 使用匹配的文本采取行动 }Partial 属性将使源生成器设计人员更容易创建自然感觉的 API。 方法组自然类型改进 表达式的自然类型是由编译器确定的类型例如当类型分配给 var 或 Delegate 时。当它是一个简单类型时这很简单。在 C# 10 中我们添加了对方法组的支持。当您将不带括号的方法名称作为委托包含时将使用方法组 Todo GetTodo() new(Id: 0, Name: Name); var f GetTodo; // f 的类型是 FuncToDoC# 13 完善了确定自然类型的规则以便根据范围考虑候选者并删除没有成功机会的候选者。更新这些规则意味着在使用方法组时编译器错误会更少。 allows ref struct C# 13 添加了一种指定泛型类型参数功能的新方法。默认情况下类型参数不能为 ref struct。但是 C# 13 允许您指定类型参数可以是 ref struct并应用相应的规则。虽然其他泛型约束限制了可用作类型参数的类型集但此新规范扩展了允许的类型。我们认为这是一种反约束因为它删除了限制而不是添加了限制。where 子句中的语法 allows ref struct其中 allows 表示用法上的扩展 T IdentityT(T p)where T : allows ref struct p; // Okay Spanint local Identity(new Spanint(new int[10]));使用 allows ref struct 指定的类型参数具有 ref struct 类型的所有行为和限制。 Async 方法和迭代器中的 ref 和 unsafe 在 C# 13 之前迭代器方法使用 Yield Return 的方法和 async 方法不能声明局部 ref 变量也不能具有 unsafe 的上下文。 在 C# 13 中async 方法可以声明 ref 局部变量或 ref struct 类型的局部变量。这些变量不能跨 await 边界或 Yield return 边界保存。 同样C# 13 允许迭代器方法中使用 unsafe 上下文。但是所有 Yield Return 和 Await 语句都必须在safe上下文中。这些放宽的限制让您可以在更多地方使用 ref 局部变量和 ref struct类型。 扩展类型的更新 我们对 Mads 和 Dustin 在 Build 上展示的扩展类型功能感到非常兴奋。我们还在 Build 上的博客文章 .NET 公告中介绍了扩展类型。当时我们的目标是在 C# 13中实现该功能的关键部分但设计和实现将需要更多的时间。请在早期的 C# 14NET 10预览版中查找扩展类型。 总结 您可以在 C# 13 的新增功能中了解更多相关内容。我们仍在为 C# 13 开发新功能您可以在 Roslyn 功能状态页面查看我们正在做的事情。此外请务必关注 .NET 9 预览版发行说明您现在可以在其中找到每个版本的 C# 发行说明。 请下载带有 .NET 9 的 Visual Studio 2022-17.11 的最新预览版体验这些新功能并告诉我们您的想法
http://www.dnsts.com.cn/news/165135.html

相关文章:

  • 荆州论坛广东网站营销seo费用
  • ftp上传网站之后嘉兴企业网站
  • 代表网站开发的logo重庆公司联系方式
  • 网站建设与维护的案例四库一平台怎么查建造师业绩
  • 网站制作公司站建设制作企业宣传片拍摄公司
  • 网站空间的管理站点网络服务提供者对在业务活动中收集的公民个人电子信息
  • 宝安专业手机网站设计公司网站建设拾金手指下拉十九
  • php网站商城源码基于cms的企业网站建设
  • 用墨刀做视频网站高端网站建设服务
  • 个人网站建设流程图接做网站的
  • 北京兼职网站建设广州做网站(信科网络)
  • 黑色背景的网站开发工具DW自动生成代码做网站
  • 网站怎么做图片栏目wordpress面向对象
  • 网站效果代码英文学习网站
  • 监控摄像头做直播网站做的网站放在阿里云
  • 网站需求表购物网站开发会遇到的的问题
  • 有哪些外国网站做精油的商城网站建设行业现状
  • 做宣传图册在什么网站网站建设 代表联系群众
  • 深圳住房和建设局网站轮候大厅wordpress打赏图片显示不了
  • wordpress 配置邮箱长沙seo优化价格
  • 怎么做网站访问被拒绝免费优化网站建设
  • 商城网站里可以再放cms吗游戏网站建设论文
  • 简述网站建设和推广评价指标西安网站建设推广服务
  • 佛山顺德网站制作公司哪家好广元市住房和城乡建设局网站
  • 网站 绝对路径 相对路径做网站视频手机
  • 广东专业高端网站建设中国兰州网招聘
  • 公司做的网站入哪个会计科目长沙房地产
  • 做珠宝网站价格多少wordpress学校模板
  • 模板网站如何建设php做视频网站
  • app网站有哪些佛山网站推广市场