Tag: C#的

c ++unit testing框架的比较

我知道关于c ++unit testing框架的推荐已经有几个问题,但是所有的答案都没有帮助,因为他们只是推荐一个框架,但是没有提供关于(function)比较的任何信息。 我认为最有趣的框架是CppUnit,Boost和新的Googletesting框架。 有没有人做过比较?

我怎样才能返回一个空的IEnumerable?

鉴于下面的代码和这个问题中给出的build议,我决定修改这个原始方法,并询问IEnumarable中是否有任何值返回它,如果不返回没有值的IEnumerable。 这里是方法: public IEnumerable<Friend> FindFriends() { //Many thanks to Rex-M for his help with this one. //https://stackoverflow.com/users/67/rex-m return doc.Descendants("user").Select(user => new Friend { ID = user.Element("id").Value, Name = user.Element("name").Value, URL = user.Element("url").Value, Photo = user.Element("photo").Value }); } 由于所有内容都在return语句中,所以我不知道如何才能做到这一点。 会这样的工作吗? public IEnumerable<Friend> FindFriends() { //Many thanks to Rex-M for his help with this one. //https://stackoverflow.com/users/67/rex-m if […]

计算文件的MD5校验和

我正在使用iTextSharp从PDF文件中读取文本。 但是,有时我无法提取文本,因为PDF文件只包含图像。 我每天下载相同的PDF文件,我想看看PDF是否被修改。 如果文本和修改date不能获得,是一个MD5校验和是最可靠的方式来判断文件是否已经改变? 如果是这样,一些代码示例将不胜感激,因为我没有太多的密码学经验。

用Python包装C库:C,Cython还是ctypes?

我想从Python应用程序调用一个C库。 我不想包装整个API,只包含与我的情况相关的函数和数据types。 正如我所看到的,我有三个select: 在C中创build一个实际的扩展模块可能是过度的,我也想避免学习扩展写作的开销。 使用Cython将C库中的相关部分公开给Python。 在Python中完成整个事情,使用ctypes与外部库进行通信。 我不确定2)还是3)是更好的select。 3)的优点是ctypes是标准库的一部分,所产生的代码将是纯Python–尽pipe我不确定这个优点实际上有多大。 这两种select是否有更多的优点/缺点? 你推荐哪种方法? 编辑:谢谢你所有的答案,他们提供了一个很好的资源,任何人想要做类似的事情。 当然,这个决定仍然是针对单个案件的 – 没有人“这是正确的”答案。 对于我自己的情况,我可能会用ctypes,但我也期待在其他项目中尝试Cython。 由于没有一个真正的答案,接受一个有点武断。 我select了FogleBird的答案,因为它提供了对ctypes的一些很好的见解,目前它也是最高票数的答案。 不过,我build议阅读所有的答案,以获得良好的概述。 再次感谢。

如何读取和parsingC#中的XML文件?

如何读取和parsingC#中的XML文件?

在Vim中自动完成

简而言之,我正在为Vim编辑器寻找一个可用的自动完成function。 我以前曾经争辩说 ,Vim完全取代了Linux下的IDE,虽然这确实如此,但它缺less一个重要特性:自动完成。 我知道Ctrl + N , Exuberant Ctags集成 , Taglist , cppcomplete和OmniCppComplete 。 唉,这些都不符合我对“工作自动完成”的描述: 如果你忘记了如何拼写class ,或Ctrl + N, Ctrl + N很好(只)。 好吧。 Ctags给你的雏形,但有很多缺点。 Taglist只是一个Ctags包装,因此它inheritance了大部分的缺点(尽pipe对于列表声明来说效果很好)。 cppcomplete根本没有按照承诺的方式工作,我不知道我做错了什么,或者它是否“正常工作”,并且限制是通过devise来实现的。 OmniCppComplete与cppcomplete似乎有同样的问题,即自动完成不能正常工作。 另外, tags文件再次需要手动更新。 我意识到这样一个事实,即使现代的,全面的IDE也不能提供良好的C ++代码完成。 这就是为什么我直到现在才接受Vim在这方面的不足。 但是,我认为完成代码的基本级别并不是太多要求的,实际上对于高效使用来说是必需的。 所以我正在寻找能够完成至less以下几件事的东西。 语法意识 。 cppcomplete承诺(但不提供给我),正确的,范围感知的自动完成以下内容: variableName.abc variableName->abc typeName::abc 而且,其他任何东西都是无用的。 可configuration性 。 我需要指定(容易)源文件的位置,以及脚本从哪里获取自动完成信息。 事实上,我在我的目录中有一个Makefile,它指定了所需的包含path。 Eclipse可以解释其中的信息,为什么不是Vim脚本呢? 最新的 。 只要我改变我的文件中的东西,我想要自动完成来反映这一点。 我不想手动触发ctags (或类似的东西)。 此外,更改应该是渐进的 ,即当我只更改了一个文件时, ctags重新parsing整个目录树(可能很大)是完全不可接受的 。 […]

在“entity framework4.1代码优先”中忽略类属性

我的理解是[NotMapped]属性不可用,直到目前在CTP中的EF 5,所以我们不能在生产中使用它。 我如何标记EF 4.1中的属性被忽略? 更新:我注意到别的奇怪。 我得到了[NotMapped]属性,但由于某种原因,EF 4.1仍然在数据库中创build一个名为Disposed的列,即使public bool Disposed { get; private set; } public bool Disposed { get; private set; } public bool Disposed { get; private set; }用[NotMapped]标记。 当然,这个类实现了IDisposeable ,但我不明白这应该如何。 有什么想法吗?

如何将项目从列表中复制到列表中?

如何将包含在一个List的项目转移到另一个C#中,而不使用foreach ?

如何“int main(){(([()(){})());}”有效的C + +?

我最近遇到了以下深奥的一段代码。 int main(){(([](){})());} 重新格式化如下,使其更具可读性: int main(){ (([](){})()); // Um… what?!?! } 但是我不明白怎么(([](){})())是有效的代码。 它看起来不像函数指针语法。 它不能是一些运营商重载的伎俩。 代码按原样编译。 Google对这个全符号search没有什么帮助。 但它在Visual Studio 2010中编译并不输出。 没有错误,也没有警告。 所以它看起来像有效的代码。 我从来没有见过任何有效的代码,这是离奇的Javascript和C函数指针之外 。 有人可以解释这是如何有效的C ++?

Guid.NewGuid()与新的Guid()

Guid.NewGuid()和new Guid()什么区别? 哪一个是首选?