C# 中没有类型的新功能是啥?

     2023-02-22     77

关键词:

【中文标题】C# 中没有类型的新功能是啥?【英文标题】:What is new without type in C#?C# 中没有类型的新功能是什么? 【发布时间】:2021-11-24 16:31:34 【问题描述】:

C# 中没有类型的新功能是什么?

我在工作中遇到了如下代码:

throw new("some string goes here");

new("some string goes here") 是在 C# 中创建字符串的一种方式还是其他方式?

【问题讨论】:

devblogs.microsoft.com/dotnet/welcome-to-c-9-0/… 如果可能,您应该与您的团队讨论此功能的使用。 Dictionary<SomeVeryLongName, List<AnotherTooLongName>> _field = new() 很好用。你的例子不是。我们应用的规则是:完整类型应至少出现一次,首选var(根据习惯和与旧代码的一致性)。 【参考方案1】:

throw 的具体情况下,throw new()throw new Exception() 的简写。该功能是在 c# 9 中引入的,您可以在 Target-typed new expressions 中找到文档。

如您所见,有很多地方可以使用它(只要可以推断要创建的类型)来缩短代码。

我最喜欢的地方是字段/属性:

private readonly Dictionary<SomeVeryLongName, List<AnotherTooLongName>> _data = new();

作为补充说明,不鼓励使用throwing Exception,因为它在大多数情况下不够具体,所以我真的不建议使用throw new ("error");。有很多特定的异常可供使用,如果这些都不起作用,请考虑创建自定义异常。

【讨论】:

【参考方案2】:

new() 创建一个类型可以是inferred from context 的对象。

所以而不是:

throw new System.Exception("hi");

您可以改用这个缩写形式:

throw new ("hi");

同样,

var s = new string("hello");

可以替换为:

string s = new("hello");

【讨论】:

在 C# 中使用 Selenium 添加功能的正确方法是啥?

】在C#中使用Selenium添加功能的正确方法是啥?【英文标题】:WhatisthecorrectwaytoaddCapabilitiesusingSeleniuminC#?在C#中使用Selenium添加功能的正确方法是什么?【发布时间】:2021-10-3108:33:18【问题描述】:我正在使用C#中的Selenium(4.0-rc1)并... 查看详情

c#实体类时间是啥类型

参考技术ADateTime是日期时间都包括的一个类型,忘了有没有Date和Time了,好几年不用C#了.. 参考技术Bdatetime 查看详情

c#中ref的作用是啥?

...testNum);//屏幕输出100,表示方法Operation内部对testNum的操作没有影响到testNum的值Console.WriteLine("testNum的值:"+testNum);intnum1=200;OtherOpearation(refnum1);//屏幕输出10000,表示方法OtherOpearation内部对num1的操作影响到了num1值。跟引用... 查看详情

在 c# 中拥有一个采用任何类型的可索引列表的方法的最有效方法是啥

】在c#中拥有一个采用任何类型的可索引列表的方法的最有效方法是啥【英文标题】:What\'sthemostefficientwaytohaveamethodthattakesanindexablelistofanytypeinc#在c#中拥有一个采用任何类型的可索引列表的方法的最有效方法是什么【发布时间】... 查看详情

c#中代表delegate的作用是啥

我是初学者,没学过C语言,刚学C#没多久,,,看到了,引用类型代表的例子,看不懂,在想,代表在C#中的作用到底是什么,delegate是C#中的一种类型,它实际上是一个能够持有对某个方法的引用的类。与其它的类不同,delegate类能够拥有一个... 查看详情

c#中string类型是啥类型

...个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。扩展资料应用:可以用(string)标记或者strval()函数将一个值转换为字符串。当某表达式需要字符串时,字符串的转换会在表达式范... 查看详情

C# long 类型的等效 SQL Server 类型是啥?

】C#long类型的等效SQLServer类型是啥?【英文标题】:WhatistheequivalentSQLServertypefortheC#longtype?C#long类型的等效SQLServer类型是什么?【发布时间】:2012-12-2106:05:34【问题描述】:我想知道C#中long的等效SQLServer类型是什么。【问题讨论... 查看详情

c#中的泛型是啥意思?

泛型是2.0版C#语言和公共语言运行库(CLR)中的一个新功能。泛型将类型参数的概念引入.NETFramework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时... 查看详情

unit是啥数据类型?c#中

unit是“长度度量”类型,不是uint,uint是无符号整数参考技术A这个是无符号整型数不是无符号长整型无符号长整形是ulong其实uint在C语言中就是unsignedint你对比看看uint也是32位的,double是64位的 参考技术B一、基础数据类型有哪些... 查看详情

在 C# 中 if (condition) then apply function that return same type 的功能等价物是啥?

】在C#中if(condition)thenapplyfunctionthatreturnsametype的功能等价物是啥?【英文标题】:Whatisthefunctionalequivalentofif(condition)thenapplyfunctionthatreturnssametypeinC#?在C#中if(condition)thenapplyfunctionthatreturnsametype的功能等价物是什么?【发布时 查看详情

c#中的文本框里怎么判断输入的内容是啥类型

...输入1234567890.这十一种字符,但不报错!其它字符的输入没有任何作用,也没有任何的响应! 参考技术B方法一:在文本框的onCheck事件中,判断用户输入的“阿斯克马”值。方法二:在用户输入完后,用charAt()方法判断每个字符... 查看详情

c#中类似javamap功能的语句是啥

...是SZArrayEnumerator(这两个类在.netframework类库文档(msdn)中都没有介绍)1.System.Colloctions中表示集合的行为的接口有:1)ICollection定义所有集合的大小、枚举数和同步方法。派生于IEnumerable它定义了集合类最基本的行为,所有的集合类... 查看详情

c#编程(二十二)----------继承的类型

...承非常有用.接口继承:表示一个类型只继承了函数的签名,没有继承 查看详情

c# 中的可空类型是啥?

】c#中的可空类型是啥?【英文标题】:Whatisnullabletypeinc#?c#中的可空类型是什么?【发布时间】:2022-01-1321:02:44【问题描述】:什么时候我们必须在C#.net中使用nullable类型?谁能举例说明一下。【问题讨论】:c-sharpcorner.com/UploadF... 查看详情

在没有类型库的情况下使用来自 C# 的 COM dll

】在没有类型库的情况下使用来自C#的COMdll【英文标题】:UsingaCOMdllfromC#withoutatypelibrary【发布时间】:2010-11-0511:38:36【问题描述】:我需要使用很久以前在Delphi中开发的COM组件(一个dll)。问题是:dll不包含类型库……而且.NET... 查看详情

在 C# 中解析 html 的最佳方法是啥? [关闭]

】在C#中解析html的最佳方法是啥?[关闭]【英文标题】:WhatisthebestwaytoparsehtmlinC#?[closed]在C#中解析html的最佳方法是什么?[关闭]【发布时间】:2020-03-1403:36:24【问题描述】:我正在寻找一种库/方法来解析具有比通用xml解析库更多... 查看详情

在 C# 中解析 html 的最佳方法是啥? [关闭]

】在C#中解析html的最佳方法是啥?[关闭]【英文标题】:WhatisthebestwaytoparsehtmlinC#?[closed]在C#中解析html的最佳方法是什么?[关闭]【发布时间】:2010-09-0812:55:54【问题描述】:我正在寻找一种库/方法来解析具有比通用xml解析库更多... 查看详情

在 C# 中浏览 XML 文件的最快方法是啥?

...很长时间才能完成,我认为这是因为我使用的xml阅读器的类型。在下面的方法中,我尝试了3个不同的版本,第一个是最快 查看详情