Tag: C#的

在C ++中引用参考

我每隔一段时间就看到StackOverflow上的代码,询问一些涉及如下函数的过度含糊: void foo(int&& param); 我的问题是:为什么这甚至出现? 或者说,你什么时候会“参考一个参考”? 这与普通的老参考有什么不同? 我从来没有在现实世界的代码中遇到这个问题,所以我很好奇哪种types的代码需要这个。

用自定义比较器在c ++中声明一个priority_queue

我试图声明priority_queue of nodes的priority_queue of nodes ,使用bool Compare(Node a, Node b)作为比较函数(这是在节点类之外)。 我目前拥有的是: priority_queue<Node, vector<Node>, Compare> openSet; 出于某种原因,我收到Error: "Compare" is not a type name 将声明更改为priority_queue <Node, vector<Node>, bool Compare> 给我Error: expected a '>' 我也试过: priority_queue<Node, vector<Node>, Compare()> openSet; priority_queue<Node, vector<Node>, bool Compare()> openSet; priority_queue<Node, vector<Node>, Compare<Node, Node>> openSet; 我应该如何正确地声明我的priority_queue ?

在LINQ to SQL中使用contains()

我试图在一个使用linq-to-sql的应用程序中实现一个非常基本的关键字search。 我的search条件是在一个string数组中,每个数组项是一个单词,我想查找包含search条件的行。 我不介意,如果他们不仅仅包含search条件(很可能,他们会),但所有的search条件必须存在。 理想情况下,我想要类似下面的代码片段,但我知道这是行不通的。 另外,我在这里看到了这个问题 ,但是这个问题的作者似乎满足于做相反的事情( query.Contains(part.partName) ),这对我不起作用。 public IQueryable<Part> SearchForParts(string[] query) { return from part in db.Parts where part.partName.Contains(query) select part; } 我怎样才能重写这个查询,以便它能做我需要的?

为什么Main方法是私有的?

新的控制台项目模板创build一个像这样的Main方法: class Program { static void Main(string[] args) { } } 为什么Main方法和Program类都不需要公开?

使用CMake强制进行32位编译的正确方法

对不起,有很多类似的问题,但我发现谷歌searchCMake查询总是产生类似,但不是相同的场景,冲突CMake命令等! 我需要强制我的项目构build32位的二进制文件,因为我必须链接到一个只有32位的库。 我根据如下错误消息来诊断: /usr/bin/ld: i386 architecture of input file `*external-32bit-lib*' is incompatible with i386:x86-64 output 从我所收集到的,我应该使用: set (CMAKE_CXX_FLAGS "-m32") 这确实改变了事情 – 我现在得到了几个错误,如: /usr/bin/ld: i386 architecture of input file `*project-output-lib*' is incompatible with i386:x86-64 output 而且对于外部库也是一样的错误。 我认为这是因为-m32使gcc生成32位二进制文​​件,但ld仍然在尝试64位输出? 进一步谷歌search这个问题并没有成功,所以如果任何人都可以certificate我是正确的,并给出了正确的方式做到这一点,我将不胜感激! 非常感谢!

定义局部variablesconst与类const

如果我使用的只是一个方法中需要的常量,最好在方法范围内还是在类范围内声明const? 在方法中声明它有更好的性能吗? 如果这是真的,我认为在类范围(文件顶部)中定义它们以更改值和重新编译更为简单。 public class Bob { private const int SomeConst = 100; // declare it here? public void MyMethod() { const int SomeConst = 100; // or declare it here? // Do soemthing with SomeConst } }

使用Moq来validation呼叫是以正确的顺序进行的

我需要testing下面的方法: CreateOutput(IWriter writer) { writer.Write(type); writer.Write(id); writer.Write(sender); // many more Write()s… } 我创build了一个Moq'd IWriter ,我想确保Write()方法以正确的顺序被调用。 我有以下testing代码: var mockWriter = new Mock<IWriter>(MockBehavior.Strict); var sequence = new MockSequence(); mockWriter.InSequence(sequence).Setup(x => x.Write(expectedType)); mockWriter.InSequence(sequence).Setup(x => x.Write(expectedId)); mockWriter.InSequence(sequence).Setup(x => x.Write(expectedSender)); 但是,在CreateOutput() Write()的第二次调用(写入id值)会引发MockException ,消息“ IWriter.Write()调用失败,模拟行为Strict。模拟上的所有调用都必须具有相应的设置。 ”。 我也很难find任何确定的,最新的Moq序列的文档/例子。 我做错了什么,或者我不能使用相同的方法设置序列? 如果没有,是否有一个替代我可以使用(最好使用Moq / NUnit)?

如何在VS2013中closuresC ++的自动格式化?

VS2013增加了C ++的自动格式化。 我个人对自动格式化的看法是,这对开发者来说最终是有害的,但是我不得不接受每个人都同意。 什么错误的是,我似乎无法完全禁用自动格式。 我没有选中工具 – >文本编辑器 – > C / C ++ – >格式 – >常规下的每个checkbox,但是当我键入: void f () 用VS2013代替这个 void f() 这不是这个特定项目的代码标准,这意味着我必须回去插入一个空间。 还有其他的例子,我必须与VS战斗。 我不想更改间距设置,因为 我使用不同的代码标准在多个项目中工作 我不相信自动格式化,所以我只是想让它脱离我的方式 我只想VS不会自动修改我的代码。 PS。 我不反对,该VS可以格式化代码,但我想手动调用

为什么C4996上的Visual Studio 2013错误?

在以前版本的Visual Studio中,使用像_sleep或者strncpy这样的函数只是输出警告。 在最新版本中,突然出现一个错误: 我知道我可以通过在代码的开头添加#pragma warning(disable: 4996)来禁用它,但是令人恼火的是,VS试图强迫我使用其他函数。 有什么办法来禁用这种行为? 在您提出问题之前,“将警告视为错误”已禁用,即使我closures了所有警告,也会出错!

Google analytics 3.08 IOS idfa class missing,不会收集idfa

我下载谷歌分析,我按照他们的指示如何在应用程序中实施分析。 但无论我尝试我得到这个日志xcode: idfa class missing, won't collect idfa 。 所以我谷歌,发现苹果将拒绝具有此警告的应用程序。 我也发现谷歌3.03c版本解决了这个问题,我们不必导入使用广告的库。 我也运行他们的例子,我得到相同的日志在他们的例子。 所以我的问题是,苹果是否会批准我的申请,我该如何解决?