Tag: C#的

unit testing:DateTime.Now

我有一些unit testing,预计“当前时间”不同于DateTime.Now,我不想改变计算机的时间,显然。 什么是实现这一目标的最佳策略? 谢谢

如何清除stringstream?

stringstream parser; parser << 5; short top = 0; parser >> top; parser.str(""); //HERE I'M RESETTING parser parser << 6; //DOESN'T PUT 6 INTO parser short bottom = 0; parser >> bottom; 为什么不起作用?

将一个dll作为embedded式资源embedded到另一个dll中,然后从我的代码中调用它

我有一个情况,我有一个DLL我创build使用另一个第三方DLL,但我宁愿能够build立第三方DLL到我的DLL,而不是必须保持在一起,如果可能的话。 这与C#和.NET 3.5。 我想这样做的方式是将第三方DLL作为embedded式资源存储,然后在执行第一个DLL期间放置在适当的位置。 我原本计划这样做的方法是编写代码将第三方DLL放在由System.Reflection.Assembly.GetExecutingAssembly()。Location.ToString()减去最后一个/nameOfMyAssembly.dll指定的位置。 我可以成功地将第三方.DLL保存在此位置(最终(C:\ Documents and Settings \ myUserName \ Local Settings \ Application Data \ assembly \ dl3 \ KXPPAX6Y.ZCY \ A1MZ1499.1TR \ e0115d44 \ 91bb86eb_fe18c901)),但是当我到达需要这个DLL的代码部分时,它找不到它。 有没有人有任何想法,我需要做什么不同?

Web API Put请求生成一个Http 405方法不允许的错误

这里是对我的Web API的PUT方法的调用 – 方法的第三行(我从ASP.NET MVC前端调用Web API): client.BaseAddress是http://localhost/CallCOPAPI/ 。 这里是contactUri : 这里是contactUri.PathAndQuery : 最后,这是我的405回应: 这是Web API项目中的WebApi.config: public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Routes.MapHttpRoute( name: "DefaultApiGet", routeTemplate: "api/{controller}/{action}/{regionId}", defaults: new { action = "Get" }, constraints: new { httpMethod = new HttpMethodConstraint("GET") }); var […]

什么是枚举定义中的代字号(〜)?

我总是感到惊讶,即使现在一直使用C#,我仍然设法find我不知道的事情… 我已经试过在网上search这个,但是在search中使用“〜”对我来说不是很好,我也没有在MSDN上find任何东西(不是说它不存在) 我最近看了这段代码,代字符(〜)是什么意思? /// <summary> /// Enumerates the ways a customer may purchase goods. /// </summary> [Flags] public enum PurchaseMethod { All = ~0, None = 0, Cash = 1, Check = 2, CreditCard = 4 } 我有点惊讶地看到它,所以我试图编译它,它的工作…但我仍然不知道它是什么意思/做什么。 任何帮助?

在.net中以编程方式解压缩文件

我正试图以编程方式解压缩压缩文件。 我曾尝试在.NET中使用System.IO.Compression.GZipStream类,但是当我的应用程序运行(实际上是一个unit testing),我得到这个exception: System.IO.InvalidDataException:GZip标头中的幻数不正确。 确保你传入一个GZipstream 我现在意识到.zip文件与.gz文件不同,而且GZip与Zip 。 但是,由于我能够通过手动双击压缩文件来提取文件,然后单击“提取所有文件”button,我认为在代码中也应该有这样做的方法。 因此,我试图使用Process.Start()与压缩文件的path作为input。 这使我的应用程序打开一个窗口,显示压缩文件中的内容。 这一切都很好,但应用程序将被安装在一个没有周围的服务器上点击“提取所有文件”button。 那么,如何让我的应用程序提取压缩文件中的文件呢? 还是有另一种方法来做到这一点? 我更喜欢用代码来做,而不用下载任何第三方库或应用程序。 安全部门不太喜欢那个…

将int转换为string?

我怎样才能将int数据types转换为C#中的string数据types?

生成一组置换(最有效)

我想生成一个集合(集合)的所有排列,如下所示: Collection: 1, 2, 3 Permutations: {1, 2, 3} {1, 3, 2} {2, 1, 3} {2, 3, 1} {3, 1, 2} {3, 2, 1} 一般来说,这不是一个“如何”的问题,而是关于如何最有效的问题。 另外,我不想生成所有的排列并返回它们,但是一次只产生一个排列,并且只在必要时才继续排列(就像迭代器一样 – 我也试过了,但是结果却less了有效)。 我已经testing了很多algorithm和方法,并提出了这个代码,这是我尝试过的最有效的代码: public static bool NextPermutation<T>(T[] elements) where T : IComparable<T> { // More efficient to have a variable instead of accessing a property var count = elements.Length; […]

如何在variables的值发生变化时触发事件?

我目前使用Visual Studio在C#中创build一个应用程序。 我想创build一些代码,以便当一个variables的值为1,然后执行一段代码。 我知道我可以使用if语句,但问题是值将在asynchronous过程中更改,所以在技术上if语句可以在值更改之前被忽略。 是否有可能创build一个事件处理程序,以便当variables值发生变化时触发一个事件? 如果是这样,我该怎么做? 我可能误解了if语句的工作原理是完全可能的! 任何帮助将不胜感激。

是否有可能等待一个事件,而不是另一个asynchronous方法?

在我的C#/ XAML metro应用程序中,有一个button可以启动长时间运行的程序。 所以,build议,我使用asynchronous/等待,以确保UI线程不会被阻止: private async void Button_Click_1(object sender, RoutedEventArgs e) { await GetResults(); } private async Task GetResults() { // Do lot of complex stuff that takes a long time // (eg contact some web services) … } 偶尔,GetResults内发生的事情需要额外的用户input才能继续。 为了简单起见,假设用户只需点击一个“继续”button。 我的问题是: 如何暂停执行GetResults,以等待事件 ,如点击另一个button? 这是一个丑陋的方式来实现我正在寻找:继续的事件处理程序“button设置一个标志… private bool _continue = false; private void buttonContinue_Click(object sender, RoutedEventArgs […]