Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我应该使用System.Guid.NewGuid()还是先使用System,然后使用Guid.NewGuid()?_C#_Namespaces_Guid - Fatal编程技术网

C# 我应该使用System.Guid.NewGuid()还是先使用System,然后使用Guid.NewGuid()?

C# 我应该使用System.Guid.NewGuid()还是先使用System,然后使用Guid.NewGuid()?,c#,namespaces,guid,C#,Namespaces,Guid,什么时候应该使用全名,Sytem.Guid.NewGuid()?我是否应该始终使用使用系统

什么时候应该使用全名,
Sytem.Guid.NewGuid()?我是否应该始终使用
使用系统Guid.NewGuid()适用于所有情况?

我认为这并没有什么区别在编码时使用“”更有用,但在编译为IL时,所有类都会编译为它们的全名

我认为这并没有什么区别。”在编码时使用“”更有用,但在编译为IL时,所有类都会编译为它们的全名

名称空间是C#的一种只在编译时使用的特性,它允许您在开发过程中节省时间。编译器使用using指令在代码中查找速记类型名称

基本上,每次编译器在代码中遇到它不知道的类型名时,它都会接受每个using指令,并将其前置到类型名之前,然后查看该完全限定名是否解析

编译应用程序后,名称空间和using指令将消失,因为IL不需要它们


回答你的问题真的没关系。。如果您经常在单个文件中使用它,请导入它,否则请使用完全限定的命名空间

命名空间是C#的编译时专用功能,它允许您在开发过程中节省时间。编译器使用using指令在代码中查找速记类型名称

基本上,每次编译器在代码中遇到它不知道的类型名时,它都会接受每个using指令,并将其前置到类型名之前,然后查看该完全限定名是否解析

编译应用程序后,名称空间和using指令将消失,因为IL不需要它们


回答你的问题真的没关系。。如果您经常在单个文件中使用它,请导入它,否则请使用完全限定的名称空间

我个人不喜欢这样长的标识符。如果代码太多,则很难阅读。
但是,当类型名之间存在歧义时,完全限定版本会解决此问题。由于名称空间冲突,我个人只在必要时使用它们。在这种情况下,我更喜欢声明一个。这使得代码更具可读性

无论如何,对于编译后的应用程序来说,这没有什么区别,编译后的代码是相同的


我也遇到过这样的情况,它们对于某些手动重构操作来说是不现实的,但也许相反的情况也可能是真的,我不记得确切的情况

我个人不喜欢这么长的时间。如果代码太多,则很难阅读。
但是,当类型名之间存在歧义时,完全限定版本会解决此问题。由于名称空间冲突,我个人只在必要时使用它们。在这种情况下,我更喜欢声明一个。这使得代码更具可读性

无论如何,对于编译后的应用程序来说,这没有什么区别,编译后的代码是相同的


我也遇到过这样的情况,它们对于某些手动重构操作来说是不现实的,但也许相反的情况也可能是真的,我不记得确切的情况

您应该使用后面的名称空间,即首先包括名称空间。它的优点是,只要看到using语句,您就会清楚地知道此文件中使用了哪些库。

您应该使用后者,即首先包括名称空间。它的优点是,只需查看using语句,您就可以清楚地知道此文件中使用了哪些库。

我认为使用完全限定名更有意义,即
Sytem.Guid.NewGuid()
如果在类/命名空间层次结构的某个级别上有重复的名称,您希望通过显式告知全名来避免重复的名称


由于
System
是一个非常独特的名称空间,您应该选择
Guid.NewGuid()

,我认为如果在类/名称空间层次结构的某个级别上有重复的名称,您希望通过显式告知全名来避免,那么使用完全限定名(即
Sytem.Guid.NewGuid()
)会更有意义


由于
System
是一个非常独特的名称空间,您应该选择
Guid.NewGuid()
我认为一致性比您选择的选项更重要。就我个人而言,我总是倾向于使用
指令来指定
,并将它们按字母顺序排序,这样就可以立即看到有什么或没有什么了。然后在我的代码中,我总是使用非限定名称,除非我需要在具有相同名称的类之间消除歧义

我想说,一致性比你选择的选择更重要。就我个人而言,我总是倾向于使用
指令来指定
,并将它们按字母顺序排序,这样就可以立即看到有什么或没有什么了。然后在我的代码中,我总是使用非限定名称,除非我需要在具有相同名称的类之间消除歧义

+1我同意,过度使用长名称空间会使代码难以阅读。想象一下,如果英语中的每个单词都以“Language.English.Verb”或“.noon”或诸如此类的词开头:)+1我同意,过度使用长名称空间会使代码难以阅读。想象一下,如果英语中的每个单词都是以“Language.English.Verb”或“.Noun”或诸如此类的词开头的:)虽然你应该避免不必要地使用
系统,但你通常应该保持
使用系统,不管你是否使用它以外的任何东西(尽管不使用它的任何东西的可能性非常小)。虽然您应该避免不必要地
使用
s,但您通常应该保持
使用系统
——不管您是否使用了它之外的任何东西(尽管不使用它的任何东西的可能性非常小)。