草庐IT

out_file

全部标签

c# - 从 File.ReadAllBytes (byte[]) 中删除字节顺序标记

我有一个HTTPHandler,它正在读取一组CSS文件并组合它们,然后对它们进行GZip压缩。但是,某些CSS文件包含字节顺序标记(由于TFS2005自动合并中的错误),并且在FireFox中,BOM被读取为实际内容的一部分,因此它搞砸了我的类名等。我如何去除出BOM字符?有没有一种简单的方法可以做到这一点,而无需手动遍历字节数组寻找“”? 最佳答案 扩展Jon'scomment带sample。varname=GetFileName();varbytes=System.IO.File.ReadAllBytes(name);S

c# - 在 c# Parallel.ForEach 中的 List.Add() 上出现 "Index out of bounds"错误

这是代码Listsomething=newList();Parallel.ForEach(anotherList,r=>{..dosomeworksomething.Add(somedata);});Indexoutofbounds错误大约每百次运行1次。有没有办法防止由线程引起的冲突(我假设)? 最佳答案 为了防止出现此问题,您可以使用ConcurrentQueue而不是List或并行部分中的类似并发集合。并行任务完成后,您可以将其放入List中。.有关详细信息,请查看System.Collections.Concurrent命名

c# - File.Delete 不删除文件

我正在尝试删除一个文件,但下面的代码并没有这样做。它不会抛出异常,但文件仍然存在。这可能吗?try{File.Delete(@"C:\File.txt");}catch(Exceptione){Console.WriteLine(e);}如果无法删除文件,应该打印出异常,但实际上并没有。这是否应该静默失败(如File.Delete方法吞没任何错误)? 最佳答案 如果指定的文件不存在,File.Delete不会抛出异常。[某些以前版本的MSDN文档错误地指出它确实如此]。try{stringfilename=@"C:\File.txt

c# - File.Delete() 与 FileInfo.Delete()

使用File对象的静态方法与创建新的FileInfo对象并调用这些方法有很大区别吗? 最佳答案 唯一的区别是File必须解析指定的路径(假设它是相对的),而FileInfo应该已经有解析的路径。 关于c#-File.Delete()与FileInfo.Delete(),我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7773122/

c# - asp.net 中 ./, ../, ../../, ~/on file path(URL) 之间的区别

我有一个脚本文件。看到路径是~/Script。但是,如果我输入../../而不是~/,该过程也同样有效。我的网站URL如:https://sample.com/Scripts/angular.js如果我在Scripts之前输入../../,那么它会自动更改以前的URL(https://sample.com/Scripts/angular.js).Whatistheurlprocess?Andhowcanitsautomaticallychanged?andpleasetellabouttheDifferentbetween./,../,../../,~/,/Scripts,Script

c# - 反射(reflection)使用 out 参数的静态重载方法

我在通过反射调用带有out参数的重载静态方法时遇到一些问题,希望得到一些指示。我希望动态创建一个类型,如System.Int32或System.Decimal,然后调用静态TryParse(string,outx)方法。下面的代码有两个问题:t.GetMethod("TryParse",newType[]{typeof(string),t})未能返回我期望的MethodInfomi.Invoke(null,newobject[]{value.ToString(),concreteInstance})似乎成功但未设置输出参数concreteInstance到解析后的值交织到这个函数中,您

c# - 为什么在匿名方法中不允许使用 out 参数?

这不是Callingamethodwithreforoutparametersfromananonymousmethod的骗局我想知道为什么out参数在匿名方法中是不允许的。不允许ref参数对我来说更有意义,但是out参数,就没那么多了。你对此有何看法 最佳答案 在某些方面,这是一个骗局。Out参数是ref参数。C#语言使用的值只是一个额外的属性。不允许它们的原因与ref参数完全相同。这里的问题源于在匿名方法中使用在匿名方法之外声明的值的效果。这样做会捕获lambda中的值,并且出于必要而任意延长其生命周期,使其超出当前函数的生命周

c# - out 用于多个输出值或返回组合值类型更好吗?

例如,按照以下行:publicboolIntersect(Rayray,outfloatdistance,outVector3normal){}对比publicIntersectResultIntersect(Rayray){}publicclassIntersectResult{publicboolIntersects{get;set;}publicfloatDistance{get;set;}publicVector3Normal{get;set;}}哪个在清晰度、易用性和最重要的性能方面更好。 最佳答案 我会使用组合类型,我会

c# - asp.net mvc 中的 File() 是否关闭流?

我想知道你是否做类似的事情publicFileResultresult(){Streamstream=newStream();returnFile(stream,"text/html","bob.html");}如果File()会为您关闭流?因为我试图将“流”放在using语句中,但它总是给我一个错误,说流已关闭。publicFileResultresult(){using(Streamstream=newStream()){returnFile(stream,"text/html","bob.html");}} 最佳答案 如果您使

c# - 生产中的 Azure SDK 2.2 : Could not load file or assembly 'msshrtmi' or one of its dependencies. 系统找不到指定的文件

我已经在StackOverflow和其他网站的其他几个线程上读到过这个问题。其他解决方案都没有解决我的问题,而且大多数都已过时,引用了旧版本的AzureSDK。我有一个典型的Azure网站角色部署到Azure,它使用Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener来记录跟踪消息。发生跟踪时,看起来好像DiagnosticMonitorTraceListener正在使用RoleEnvironment类,该类又会尝试加载显然不存在的msshrtmi.dll.这是记录到Azure文件系统的堆栈跟踪的一部分:[F