草庐IT

c# - IO 101 : Which are the main differences between TextWriter, FileStream 和 StreamWriter?

如果这个问题对于你们这些经验丰富的程序员来说可能听起来有点业余,让我首先道歉,问题是我在工作中一直有很多关于这个的争论所以我真的想弄清楚这个问题,这就是为什么我我依靠stackoverflow社区一劳永逸地解决这个问题:)因此,一方面,根据MSDN,我们有:TextWriterClassRepresentsawriterthatcanwriteasequentialseriesofcharacters.Thisclassisabstract.FileStreamClassExposesaStreamaroundafile,supportingbothsynchronousandasyn

c# - 使用 C# 和 System.IO.Packaging 以编程方式从 Zip 存档中提取文件

我有一堆ZIP文件,迫切需要进行一些层次结构重组和提取。目前我能做的是创建目录结构并将zip文件移动到正确的位置。我缺少的神秘奶酪是从ZIP存档中提取文件的部分。我看过有关ZipArchive类的MSDN文章,并且对它们的理解很好。我也看到了VBScriptwaystoextract.这不是一个复杂的类,因此提取内容应该非常简单。事实上,它“大部分”有效。我在下面包含了我当前的代码以供引用。using(ZipPackagepackage=(ZipPackage)Package.Open(@"..\..\test.zip",FileMode.Open,FileAccess.Read)){

c# - 通过 C# 与 socket.io 服务器通信

是否有遵循socket.io协议(protocol)的c#客户端?我有一个通过网站与socket.iojavascript客户端通信的socket.io服务器,但我还需要将一个c#片段连接到它可以发送和接收消息。目前是否有一种干净的方法来执行此操作,或者我必须编写自己的客户端。 最佳答案 codeplex上有一个项目(还有NuGet),它是socket.io的C#客户端。(我是这个项目的作者-所以我有偏见)我无法在客户端中找到我真正需要的东西,所以我构建了它并将其重新公开发布。示例客户端样式:socket.On("news",(da

c# - 如何避免 System.IO.PathTooLongException?

我们经常遇到这个问题......例子:如果我有一个文件想将其复制到另一个目录或UNC共享中,并且如果路径的长度超过248(如果我没记错的话),那么它会抛出PathTooLongException。这个问题有什么解决方法吗?PS:是否有任何注册表设置可以将此路径设置为更长的字符集? 最佳答案 如JeremyKuhne的blog中所述,.NET框架4.6.2在不破坏向后兼容性的情况下尽可能移除MAX_PATH限制。 关于c#-如何避免System.IO.PathTooLongExceptio

c# - .Net 中 Decimal.One、Decimal.Zero、Decimal.MinusOne 的用途是什么

简单的问题-为什么Decimal类型定义这些常量?何必呢?我正在寻找一个原因,为什么这是由语言定义的,而不是可能的用途或对编译器的影响。为什么首先把它放在那里?编译器可以像Decimal.Zero一样轻松地内联0m,因此我不会将其作为编译器快捷方式购买。 最佳答案 小澄清。它们实际上是静态只读值而不是常量。这在.Net中有明显的区别,因为常量值被各种编译器内联,因此不可能在编译的程序集中跟踪它们的使用情况。然而,静态只读值不会被复制,而是被引用。这对您的问题是有利的,因为这意味着可以分析它们的使用。如果您使用反射器并深入研究BCL,

c# - 可空类型 : better way to check for null or zero in c#

我正在做一个项目,我发现我在很多很多地方检查以下内容:if(item.Rate==0||item.Rate==null){}更多的是好奇,检查这两种情况的最佳方法是什么?我添加了一个辅助方法,它是:publicstaticboolnz(objectobj){varparsedInt=0;varparsed=int.TryParse(obj.ToString(),outparsedInt);returnIsNull(obj)||(parsed&&parsedInt==0);}有没有更好的办法? 最佳答案 我喜欢if((item.Rat

c# - System.IO.IOException : "The file exists" when using System. IO.Path.GetTempFileName() - 解决方案?

我的一位客户在尝试使用我的产品时遇到异常。我得到了发生异常的callstack,最上面是:atSystem.IO.__Error.WinIOError(Int32errorCode,StringmaybeFullPath)atSystem.IO.__Error.WinIOError()atSystem.IO.Path.GetTempFileName()atSystem.Windows.Input.Cursor.LoadFromStream(StreamcursorStream)atSystem.Windows.Input.Cursor..ctor(StreamcursorStream)

c# - 我应该使用 ThreadPools 还是 Task Parallel Library 来进行 IO 绑定(bind)操作

在我的一个类似聚合器的项目中,我从网络解析提要、播客等。如果我使用顺序方法,考虑到大量资源,处理所有资源需要相当长的时间(因为网络问题和类似问题);foreach(feedinfeeds){read_from_web(feed)parse(feed)}所以我想实现并发性,但无法决定是应该基本上使用ThreadPools来处理工作线程,还是仅仅依靠TPL来对其进行排序。ThreadPools肯定会通过工作线程为我处理工作,我会得到我期望的结果(在多核CPU环境中,其他核心也会被利用)。但我仍然想考虑TPL,因为它是推荐的方法,但我有点担心。首先,我知道TPL使用ThreadPools但增

c# - 我没有在 "ZipFile"命名空间中找到 "System.IO.Compression"类

我不能在namespace“System.IO.Compression”中使用“Zipfile”类,我的代码是:usingSystem;usingSystem.IO;usingSystem.IO.Compression;namespaceConsoleApplication{classProgram{staticvoidMain(string[]args){stringstartPath=@"c:\example\start";stringzipPath=@"c:\example\result.zip";stringextractPath=@"c:\example\extract";Z

c# - System.IO.Directory.GetFiles 的多个文件扩展名 searchPattern

在Directory.GetFiles()上将多个文件扩展名设置为searchPattern的语法是什么?例如,过滤掉扩展名为.aspx和.ascx的文件。//TODO:Setthestring'searchPattern'toonlygetfileswith//theextension'.aspx'and'.ascx'.varfilteredFiles=Directory.GetFiles(path,searchPattern);更新:LINQ不是一个选项,它必须是传递给GetFiles的searchPattern,因为在问题中指定。 最佳答案