Tag: C#的

在Linux上用C ++开发一个简单易用的分析器是什么?

我需要分析一些在Linux上运行C ++的代码。 你们可以推荐一些configuration文件吗?

为什么这个方法会导致无限循环?

我的一个同事向我提出了一个关于这个方法的问题,导致了一个无限循环。 实际的代码有点太过牵扯到这里,但基本上这个问题归结为: private IEnumerable<int> GoNuts(IEnumerable<int> items) { items = items.Select(item => items.First(i => i == item)); return items; } 这应该 (你会认为)是一个非常低效的方式来创build一个列表的副本。 我把它叫做: var foo = GoNuts(new[]{1,2,3,4,5,6}); 结果是一个无限循环。 奇怪。 我认为修改参数在风格上是一件坏事,所以我稍微改变了代码: var foo = items.Select(item => items.First(i => i == item)); return foo; 这工作。 就是这个程序完成了, 没有例外。 更多的实验表明,这也是有效的: items = items.Select(item => items.First(i => i == item)).ToList(); return […]

是否有可能embedded壁虎或Webkit的Windows窗体就像一个WebView?

我想知道是否有像Gecko.NET这样的东西;)我的意思是,就像我们可以embedded一个WebView,这是任何Windows窗体应用程序中的IE7的“实例”(并告诉它navigateto(fancy_url);到navigateto(fancy_url); )。 我很乐意使用Firefox或WebKit。 有人试过这个? 更新 :请记住,虽然可以使用上述控件embeddedGecko,但使用Gecko时仍然无法打印 。 UPDATE 2010年3月 :仍然不能使用GeckoFX进行本地打印,但有一些方法可能已经足够,这取决于你想要做什么。 请参阅: http : //geckofx.org/viewtopic.php?id=796了解更多信息。 更新2013年10月 :我不再做Windows开发,所以我对此没有兴趣,但似乎可以在这里findGecko的开发: https : //bitbucket.org/geckofx它似乎是最近更新。 留在这里为未来的Windows开发者;) UPDATE 2017年1月 :我收到了一个名为TeamDev的电子邮件。 他们创build了一个名为“DotNetBrowser”的基于Chromium的.NET浏览器组件,可用于在Windows Forms应用程序中显示现代网页。 直接引用电子邮件: 以下是有关该组件的一些详细信息,这可能会有所帮助: DotNetBrowser基于Chromium,因此支持HTML5,CSS3,JS和最新的Web标准。 该库的底层Chromium版本定期更新。 该组件适用于WPF以及Windows Forms桌面应用程序,适用于C#和VB.NET。 该图书馆已获得商业许可,但为开放源代码和学术项目提供免费许可证。 免责声明: 我没有使用这个DotNetBrowser我不再做Windows开发,但可能值得检查,如果你正在寻找一个解决scheme。

如何在预处理macros中使用“sizeof”?

有没有在预处理macros中使用sizeof ? 例如,多年来我一直想做类似的事情, #if sizeof(someThing) != PAGE_SIZE #error Data structure doesn't match page size #endif 我在这里检查的确切的东西是完全组成的 – 关键是,我经常喜欢把这些types的(大小或alignment)编译时检查,以防止有人修改一个数据结构,可能misalign或re-大小的事情会打破他们。 不用说 – 我似乎没有能够以上述方式使用sizeof 。

“Dispose”只能用于包含非托pipe资源的types吗?

我最近和同事讨论了实现IDisposable的Dispose和types的价值。 我认为在实施IDisposable的时候,尽可能快地清理types是有价值的, 即使没有非托pipe资源可以清理 。 我的同事有不同的看法, 如果您没有任何非托pipe资源,则不需要实施IDisposable ,因为您的types最终将被垃圾收集。 我的观点是,如果你有一个ADO.NET连接,你想尽快closures,那么实现IDisposable并using new MyThingWithAConnection()将是有道理的。 我的同事回答说,在封面下,一个ADO.NET连接是一个非托pipe资源 。 我的答复是, 一切最终都是非托pipe资源 。 我知道推荐的一次性模式 ,如果释放托pipe和非托pipe资源,如果Dispose被调用,但是只有通过终结器/析构函数 调用时 才是免费的非托pipe资源 (并且前段时间博客提醒消费者不恰当地使用您的IDisposabletypes ) 所以,我的问题是,如果你有一个不包含非托pipe资源的types,是否值得实现IDisposable ?

我如何访问一个webmethod中的会话?

我可以在WebMethod使用会话值吗? 我已经尝试使用System.Web.Services.WebMethod(EnableSession = true)但是我无法像本例中那样访问Session参数: [System.Web.Services.WebMethod(EnableSession = true)] [System.Web.Script.Services.ScriptMethod()] public static String checaItem(String id) { return "zeta"; } 这里是调用webmethod的JS: $.ajax({ type: "POST", url: 'Catalogo.aspx/checaItem', data: "{ id : 'teste' }", contentType: 'application/json; charset=utf-8', success: function (data) { alert(data); } });

非常小的程序来提高编程技能?

我意识到要成为一个更好的程序员,你需要编程! 所以显然练习越多,你就越好。 我的问题是这个。 我目前在大学,我觉得我的课程负担有点令人生畏,而且我没有很多空闲时间。 我不认为我真的可以承担一个大项目,特别是我不认为我必须有动力去完成这个项目,只是为了继续推迟工作,学校。 但我仍然想练习。 所以我正在寻找可以在相当短的时间内完成编程挑战的任何资源。 理想情况下,我可以在10小时的工作时间内完成工作(所以每天工作只需一个多小时),如果不是更小的话。 我听说过Google Code Jam,但是我不确定它指定的程序的长度,也不知道它的技能水平。 有没有人有build议? 甚至可能是一个教程不同function的纲要可能是有用的。 例如,一个关于文件IO的教程是值得的(如果我还不知道的话),尽pipe它可能是一个相当小的话题。

IFormatProvider做什么?

我玩的是Datetime.ParseExact方法,它需要一个IFormatProvider … 它的工作原理是inputnull,但它到底是做什么的?

捕捉exception与“赶上,当”

我在C#中遇到了这个新特性,它允许在满足特定条件时执行catch处理程序。 int i = 0; try { throw new ArgumentNullException(nameof(i)); } catch (ArgumentNullException e) when (i == 1) { Console.WriteLine("Caught Argument Null Exception"); } 我正试图了解何时可能会有用。 一种情况可能是这样的: try { DatabaseUpdate() } catch (SQLException e) when (driver == "MySQL") { //MySQL specific error handling and wrapping up the exception } catch (SQLException e) when (driver == "Oracle") […]

Visual Studio在哪里查找C ++头文件?

我从SourceForge(HoboCopy,如果你好奇的)检出一个C ++应用程序的副本,并试图编译它。 Visual Studio告诉我,它无法find一个特定的头文件。 我在源代码树中find了这个文件,但是我需要把它放在什么地方,以便在编译时find它? 有特殊的目录吗?