English 中文(简体)
使用C#源代码(如“N”)的特性是否是错误的?
原标题:Is it wrong to use special characters in C# source code, such as "ñ"?

最近,利用C#,我刚刚宣布了一个使用拉丁特性ñ的方法参数,我试图建立(对比)我的整个解决办法,因此我得以执行我的方案。 但是,我很想知道:在C#中书写的源代码中是否使用诸如拉丁特性等特殊特性是错误的?。 如果是错的,为什么?

除此以外,还有更多的legible和universal以英文书写代码,是否有其他理由在C# source代码中不使用特殊性质?

最佳回答

让我把这个问题分为几个问题。

是否根据在C#识别符号、插图等中使用非罗马字母的规格使用legal>?

是的,绝对。 统法协会编码规格作为信函分类的任何性质均为合法。 见确切细节的说明。

C#方案是否有关于非罗马字母的技术问题?

是的,有几个。 如你可能知道的那样,你可以把“法定”和“动态”的代码连接到申请中,汇编者是申请。 我们过去曾遇到过问题,因为汇编者有固定链接的旧版统法协会分类法算法,编辑目前版本有超常链接,现在编辑和汇编者可以不同意什么是法律信,可能会造成用户的混淆。 然而,你提到的拉丁美洲特征在统法协会编码标准中已经存在,因此不可能造成任何问题。

此外,许多人仍然使用旧的编辑;我学会如何在1980年代后期在惠灵顿进行节目,我仍然经常使用世界金枪鱼委六位编辑。 我有时能够比我能够在视觉演播室里更快地进行编辑,因为我的手在23年实践之后,确实是好的。 (尽管有这些天,我几乎使用视力演播室。) 显然,1980年代撰写的编辑将出现与统法协会编码的问题。

Are there any non-technical issues regarding non-Roman letters in C# programs?

显然,是。 我个人将使用希腊文作为通用参数,例如:

class List<τ> : IEnumerable<τ>

或者在实施数学法典时:

degrees = 180.0 * radians / π;

但是,我抗拒这一敦促,不光顾我的同事,他们不特别想要切割和割礼,或学习软墙的关键组合,而只是ed弄我的法典。

问题回答

在评论的基础上增加第一点:

This doesn t answer the question... The OP isn t asking whether it is allowed (obviously it is), but whether it s wrong – Thomas Levesque

Ok,让我更直接地谈谈:

it is wrong to use special characters such as Latin characters in a source code written in C#? If it is wrong, why?

根据具体定义,它不是“错”(见下文)。

Besides it is more legible and universal to write code in English, are there any other reason to not use special characters in a C# source code?

既然你说“东西方”,我就不讨论合法性或“普遍性”专题(就宜于对任何途径进行斯特克奥韦罗问题)。 对您来说:“还有其他理由不使用特殊性”。 自2006年以来 我无视你提到的第一件事,我不得不说,我可以想到许多人。 我认为的唯一一点是:今天,我们仍然(令人惊讶)在支持统法协会的某些工具(非大的第三方工具,主要是)上存在问题,那就是,你使用一些敲诈工具,正确处理单条码,或者正确符合“C#pec”——但我没有走过。 因此,我不说。 (铭记你具体说过,我没有谈到合法性或普遍性专题。)


http://www.ecma-international.org/publications/standards/Ecma-334.htm C# ECMA Specific 第70页:

The rules for identifiers given in this subclause correspond exactly to those recommended by the Unicode Standard Annex 15 except that underscore is allowed as an initial character (as is traditional in the C programming language), Unicode escape sequences are permitted in identifiers, and the “@” character is allowed as a prefix to enable keywords to be used as identifiers.

identifier:: 
    available-identifier
    @ identifier-or-keyword

available-identifier::
    An identifier-or-keyword that is not a keyword

identifier-or-keyword::
    identifier-start-character 
    identifier-part-charactersopt

identifier-start-character:: 
    letter-character
    _ (the underscore character U+005F)

identifier-part-characters::
    identifier-part-character
    identifier-part-characters
    identifier-part-character

identifier-part-character:: 
    letter-character
    decimal-digit-character 
    connecting-character 
    combining-character 
    formatting-character

letter-character::
    A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl
    A unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl

The important bit there is what the spec defined a letter-character as.

It specifically includes: A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl

您提及的特性(ñ unicode reference)属于“Lu”类(

在家里玩.,我常常叫<代码>Func参数λ<>/code>,因为它是我这样做的。

任何人都会看到,我只想把一个人的工作打上更重的打字,因为在某个案件中,我必须使用非拉丁文字。 这不是这种保证的场所。

拉丁美洲字母缩略语 如果我有很好的理由使用它所用的贷款词,我就没有使用该词。 尽管如此,它从未出现过。 关于编码中唯一使用的缩略语I的借用词是façade<>,但其使用时间太长,因此,我常常以facade的形式看到,我认为facade <>>><><>>><>>><>>>>作为计算词,与“mfaçade <>>>>>>>>>>>/em>相同,我认为<>color>>>/em>为计算词,尽管后者是用英文书写的,因此只能用英文书写。

我个人更喜欢只用英文撰写法典/评论。 英语是我的母语。 我认为,如果每个人都用同样语言书写法典,沟通会更好。

当你不得不从你不懂一字的语言中翻译你重新编造的一部法典上的变称或评论时,这非常痛苦。

另一种观点是,语言本身是用英文书写的。

当然,这是个人的偏好。

只要它汇编成册,我就认为它是用的,讲英语的人所说的话就是特别的。 我生活在瑞典,在这里,我们有没有英文版的欧洲复兴开发银行。 许多人在节目中使用ÖÖ,以便能够撰写节目,以便瑞典开发商能够理解。 有时,用英文译文不错,瑞典语则更为解释。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

NSArray s, Primitive types and Boxing Oh My!

I m pretty new to the Objective-C world and I have a long history with .net/C# so naturally I m inclined to use my C# wits. Now here s the question: I feel really inclined to create some type of ...

C# Marshal / Pinvoke CBitmap?

I cannot figure out how to marshal a C++ CBitmap to a C# Bitmap or Image class. My import looks like this: [DllImport(@"test.dll", CharSet = CharSet.Unicode)] public static extern IntPtr ...

How to Use Ghostscript DLL to convert PDF to PDF/A

How to user GhostScript DLL to convert PDF to PDF/A. I know I kind of have to call the exported function of gsdll32.dll whose name is gsapi_init_with_args, but how do i pass the right arguments? BTW, ...

Linqy no matchy

Maybe it s something I m doing wrong. I m just learning Linq because I m bored. And so far so good. I made a little program and it basically just outputs all matches (foreach) into a label control. ...