如何在多个ViewModel之间共享数据?例如,应用程序中有一个名为Project的类。publicclassProject:ModelBase{privatestring_projectName;publicstringProjectName{get{return_projectName;}set{_projectName=value;RaisePropertyChanged(()=>ProjectName);}}}在多个ViewModels应用程序中应该访问ActiveProject。在ViewModel之间共享项目的最佳方式是什么?中介者模式?(消息)静态对象单例模式(如果是怎么
是否可以在C#中完全不使用System.IO.FileInfo来获取文件的大小?我知道您可以分别使用Path.GetFileName(yourFilePath)和Path.GetExtension(yourFilePath)来获取名称和扩展名等其他内容,但显然不是文件尺寸?有没有另一种方法可以在不使用System.IO.FileInfo的情况下获取文件大小?这样做的唯一原因是,如果我是正确的,FileInfo会获取比我真正需要的更多的信息,因此如果我唯一需要的是文件的大小,则收集所有这些FileInfo需要更长的时间。有没有更快的方法? 最佳答案
我有一段代码需要能够修改文件末尾的几个字节。问题是文件很大。高达100+Gb。我需要操作尽可能快,但经过几个小时的谷歌搜索后,.Net似乎在这里相当有限???我一直在尝试使用System.IO.FileStream并且不知道其他方法。“反向”文件流可以,但我知道如何创建一个(从末尾而不是从头开始写)。这是我所做的一些事情:(注意:时间是在关闭流时花费的)staticvoidMain(string[]args){//Simulatealargefileintsize=1000*1024*1024;stringfilename="blah.dat";FileStreamfs=newFile
假设我只对处理文本文件感兴趣,那么与StreamWriter相比,System.IO.File方法有哪些具体优势或劣势?是否涉及任何性能因素?基本区别是什么,在什么情况下应该使用哪些?还有一个问题,如果我想将一个文件的内容读入一个字符串并对其运行LINQ查询,哪个最好? 最佳答案 在File类中看似重复的方法背后有一段有趣的历史。它是在对.NET的预发布版本进行可用性研究之后产生的。他们请了一群有经验的程序员编写代码来操作文件。他们以前从未接触过.NET,只是有文档可以使用。成功率为0%。是的,有区别。当您尝试读取一个GB或更大的文
场景-150MB的文本文件,它是旧电子邮件帐户的导出收件箱。需要解析并提取来自特定用户的电子邮件,并将这些电子邮件写入一个新的单个文件。我有可用的代码,它只是太慢了。我正在使用标记字符串来搜索从原始文件开始/结束副本的位置。这是主要功能:StreamReadersr=newStreamReader("c:\\Thunderbird_Inbox.txt");stringworking=string.Empty;stringmystring=string.Empty;while(!sr.EndOfStream){while((mystring=sr.ReadLine())!=null){i
如何连接到交换服务器并从共享邮箱(不是我自己的“myname@mycompany.com”)读取邮件。到目前为止,这是我的代码://CreateaserviceExchangeServiceservice=newExchangeService(ExchangeVersion.Exchange2007_SP1);//Autodiscoverendpointservice.AutodiscoverUrl("someaddress@mycompany.com");FindFoldersResultsfolderSearchResults=service.FindFolders(WellKno
我有一个WPF控件,我想将一个特定的文件从我的桌面拖放到这个控件中。这不是很重要的部分,但我想检查文件扩展名以允许或禁止删除。解决此问题的最佳方法是什么? 最佳答案 我认为这应该可行:假设您只想允许C#文件:privatevoidlbx1_DragOver(objectsender,DragEventArgse){booldropEnabled=true;if(e.Data.GetDataPresent(DataFormats.FileDrop,true)){string[]filenames=e.Data.GetData(Data
我正在为一个每秒需要处理数千条消息的交易平台项目评估Rx。现有平台有一个复杂的事件路由系统(多播委托(delegate))响应这些消息并进行大量后续处理。我查看了ReactiveExtensions的明显好处,但注意到它有点慢,通常慢100倍。我创建了单元测试来演示这一点,它运行一个简单的增量100万次,使用各种Rx风格和直接开箱即用的委托(delegate)“控制”测试。结果如下:Delegate-(1000000)-00:00:00.0410000Observable.Range()-(1000000)-00:00:04.8760000Subject.Subscribe()-New
我刚看到这个问题:IsitsafetousestaticmethodsonFileclassinC#?.总而言之,OP有一个IOException,因为此ASP.NET代码片段中正在使用文件:vartext=File.ReadAllText("path-to-file.txt");//DosomethingwithtextFile.WriteAllText("path-to-file.txt");我的第一个想法是,由于多个ASP.NET重叠请求,这是一个简单并发访问问题。我要解决的问题是将I/O集中到一个同步的线程安全类中(或删除文件以支持其他内容)。我阅读了这两个答案,当我正要对其中
假设我的解决方案有2个项目:第一个称为“MainProject”(一个.NETStandard2.0项目)。第二个称为“MainProjectTests”(一个NUnit测试项目),每个类的一些单元测试都放入“MainProject”。第一个项目(MainProject)有一个名为“dependencyX”的NuGet依赖项。显然,项目“MainProjectTests”引用了“MainProject”。因此,当测试运行器运行“MainProjectTests”测试时,使用“dependencyX”从“MainProject”调用方法时,我得到了一个System.IO.FileNotF