我们要存储10位手机号码,即9999999999。它应该是数字还是字符串数据类型?我们不想对此做任何计算或操作哪个在内存和性能方面更好? 最佳答案 ITU-TrecommendationE.164表示您需要3位数字的国家代码和最多15位数字的国家拨号计划中的目录号码。而且,很多人会添加一些标点符号。例如:+1.212.555.1212是北美号码。也可以渲染(212)555-1212在以北美为中心的应用程序中。32个字符的文本应该可以在全局范围内发挥作用。不要使用数字,否则你会后悔的。我是:两件事。一家公司失去了一些欧洲业务,因为我们
在.NET中不使用“==”来比较本地化字符串的原因是什么?如果我确实使用CultureInfo,比较将如何执行? 最佳答案 如果您将文化感知字符串与==进行比较,例如“Strasse”与“Straße”,它会返回false。如果您需要对UI内容进行文化感知比较(Listview的排序),您可以使用String.Compare和相关的CultureInfo。CultureInfoci=newCultureInfo("de-DE");String.Compare("Strasse","Straße",true,ci)//Returnsz
在C#中生成XML时,将其生成为字符串是否有问题?过去,我发现以编程方式生成XML非常冗长和复杂。通过字符串连接/字符串构建器创建xml似乎容易得多,但感觉像是一种不好的做法。我应该将XML生成为字符串吗? 最佳答案 XDocument、XElement和XAttribute类使在C#中生成xml变得更加容易。比使用XmlDocument或XmlWriter。例如,生成这个:你可以这样做:XDocumentxDocument=newXDocument(newXElement("RootElement",newXElement("Ch
.NETFramework中是否定义了任何我不应该在我自己的代码中抛出的异常,或者这是不好的做法?我应该自己写吗? 最佳答案 您不应抛出任何因用户错误而由CLR自动抛出的异常。比如堆栈溢出异常空引用异常访问冲突异常等...原因是这样做会给调用您的API的人造成困惑。用户应该能够区分API主动抛出的异常和非主动抛出的异常(由CLR抛出)。原因是主动抛出的异常通常表示API中的已知状态。如果我调用一个API并且它抛出一个ArgumentException,我有一个合理的期望,即给定的对象处于良好状态。它认识到潜在的不良情况并积极应对。另
如果您必须在C#和托管C++之间做出选择,您会选择哪个,为什么?与C#相比,托管C++有哪些优势?你更喜欢哪种语言?在什么情况下你会做出什么决定? 最佳答案 如果我满足以下条件,我会使用托管C++:需要与现有的C/C++代码集成需要将现有的C/C++代码移植到.net需要使用C++中的.NET对象需要以比.net更简单的方式在COM上公开.NET对象需要直接访问硬件需要调用大量非托管API并且已经具备一些C++技能,因为上述任务需要有经验的C++程序员。大多数时候,如果公司已经有C++代码库,我只会考虑托管C++,否则谁来维护托管C
我正在从C#逐行写入SQL服务器上的两个表。我的C#应用程序将参数传递给2个存储过程,每个存储过程都将行插入表中。每次调用存储过程时,我都会打开然后关闭连接。我需要将大约100m行写入数据库。我是否应该在每次调用存储过程时关闭和打开连接?这是我正在做的一个例子:publicstaticvoidInsert_TestResults(TestResultstestresults){try{DbConnectioncn=GetConnection2();cn.Open();//storedprocedureDbCommandcmd=GetStoredProcCommand(cn,"Inser
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whentousetry/catchblocks?Mainmethodcodeentirelyinsidetry/catch:Isitbadpractice?WhentouseTryCatchblocks异常可能发生在任何地方,所以这让我思考:我是否应该始终将我的代码包装在try..catchblock中?这是针对C#的。(我可能遗漏了一些基本的东西,因为我还是个新手)编辑:看来这确实不是一个非常聪明的问题。我们在学校学到的唯一一件事就是使用try...catch来防止崩溃。对于异常,我们所做的是显示一个Me
我认为我倾向于将C#和.net作为学习Web开发的集中语言。我想学习良好的编程基础知识,并且我已经研究了几乎所有其他内容。我将其缩小为C#、Python、Ruby和PHP这四个。是否有理由远离C#(我认为成本问题不会真正适用于我的独立开发人员情况,但我可能完全错了)。有什么想法吗?我知道这些都是很棒的语言,所以我不想问哪一个是最好的。然而,Ruby是否会成为第一语言的可行替代品,或者它是否有太多的“幕后魔法”加上Rails和非正统的方法论?我确实喜欢我所看到的语言。 最佳答案 这可能会导致一场口水战,但我认为C#是一种非常适合用于W
目前我能想到三种情况:不包含任何资源的程序集在其资源文件中仅包含图像(即ToolBoxBitmaps)的控制库仅包含用于抛出异常的文本的库(无论如何我们都不希望用户看到这些,对吗?;-))我对这些案例的看法是否正确,还有其他我现在没有看到的案例吗? 最佳答案 仅仅因为一个库只包含非文本资源并不意味着它不需要本地化。图像也可能需要本地化,要么是因为它们包含文本,要么是因为它们受到文化偏见的显着影响(当然,我知道目前没有主要应用程序仅出于这个原因对图像进行本地化)。可能还有特定于语言/文化的声音文件。此外,仅仅因为库中的唯一文本是异常文
最近我使用了很多代码生成,通常与部分类结合使用。基本上设置如下:包含生成代码的部分类。此代码的某些部分将调用部分方法。代码重新生成了很多时间。代码生成器在某些情况下是自定义工具。部分方法在单独的文件中手动实现。问题是,当我使用诸如“生成方法”之类的Intellisense功能时,出于某种原因,它们是在包含生成代码的文件中生成的。显然我不希望这样。我的问题是:是否可以生成一些提示,告诉Intellisense它不应该触及某些“cs”文件(而是其他部分类)?更新回想起来,我应该注意到我正在使用自定义工具来生成代码。它不是EF或简单的转换;代码生成涉及相当多的逻辑。此外,它还生成带有部分类的