草庐IT

list_files

全部标签

c# - 如何检查 System.IO.File.Delete 是否成功删除文件

使用system.io.file类删除文件后:System.IO.File.Delete(openedPdfs.path);如果文件被成功删除,我需要运行一些代码。只要该方法不返回任何值,我就会在delete方法之后检查文件是否存在。如果它仍然存在,我认为操作失败。问题是,删除方法工作正常,但要删除文件需要几秒钟。Exist函数返回true,因为当时它正在检查文件是否存在。我如何确定System.IO.File.Delete(openedPdfs.path);是否成功完成?代码:FileInfofile=newFileInfo(openedPdfs.path);System.IO.Fi

c# - 使用 newtonsoft.json 反序列化 List<AbstractClass>

我正在尝试序列化和反序列化abstract类列表(mustinheritforvb),显然其中只有派生类的实例。我用JsonProperty(ItemTypeNameHandling=TypeNameHandling.Auto)修饰了列表参数,获得如下所示的输出:但是我反序列化的时候一直说他不能反序列化一个抽象类。http://james.newtonking.com/json/help/index.html?topic=html/SerializeTypeNameHandling.htmpublicclassConcreteClass{privateObservableCollect

c# - IEnumerable<IGrouping> 到 IEnumerable<List>

所以我有这个:IEnumerable>groupedObjects=myObjectsResults.GroupBy(x=>x.Id);问题是,如何将此结果转换为IEnumerable>?这是我所能接受的:IEnumerable>groupedObjects=(myObjectsResults.GroupBy(x=>x.Id).SelectMany(group=>group).ToList());这显然是不正确的。有什么想法吗? 最佳答案 IEnumerable>groupedObjects=myObjectsResults.Gro

c# - 新的 .csproj 格式 - 如何将整个目录指定为子目录的 "linked file"?

有了新的.csproj格式(以及旧格式),可以将文件添加为项目文件夹外部的链接:也可以使用glob模式来包含多个文件:但是如何将两者结合起来呢?我尝试了什么前两个只创建一个链接文件(名称分别为*.cs和*)。第三个简单地出错了。有没有办法将globbing与链接文件结合到目标项目中的特定位置?如果不是,我如何在不知道有多少文件或它们的名称是什么的情况下链接目录中的所有文件? 最佳答案 虽然以前在使用glob扩展时使用%(RecursiveDir)元数据是可能的(Link="Resources\%(RecursiveDir)%(Fil

c# - .NET 2.0 : File. AppendAllText(...) - 线程安全实现

作为无聊的好奇心练习,考虑以下简单的日志记录类:internalstaticclassLogging{privatestaticobjectthreadlock;staticLogging(){threadlock=newobject();}internalstaticvoidWriteLog(stringmessage){try{lock(threadlock){File.AppendAllText(@"C:\logfile.log",message);}}catch{...handleloggingerrors...}}}File.AppendAllText(...)周围是否需要锁

c# - List.Sort 使用 lambda 表达式

我正在尝试使用lambda表达式对列表的一部分进行排序,但在尝试这样做时出现错误:Listlist=newList();list.Add(1);list.Add(3);list.Add(2);list.Add(4);//worksfinelist.Sort((i1,i2)=>i1.CompareTo(i2));//"Cannotconvertlambdaexpressiontotype'System.Collections.Generic.IComparer'becauseitisnotadelegatetype"list.Sort(1,2,(i1,i2)=>i1.CompareTo(

C# - 当 Dog 是 Animal 的子类时,如何将 List<Dog> 转换为 List<Animal>?

我有一个类Animal,及其子类Dog.我有一个List我想添加一些List的内容到List.有没有比只投List更好的方法呢?到List,然后使用AddRange? 最佳答案 如果您使用的是C#4,则不需要转换:Listanimals=newList();Listdogs=newList();animals.AddRange(dogs);这是允许的,因为AddRange()接受IEnumerable,即covariant.如果您没有C#4,那么您将不得不迭代List并转换每个项目,因为协方差只是在那时添加。您可以通过.Cast完成

c# - 防止重复的 List<T> 条目

我希望我能够解决这个问题,但我终其一生都无法理解为什么这段代码无法正常运行并允许将重复的条目添加到列表中。永远不会满足if语句条件,即使我从同一位置拖入相同的文件也是如此。我不明白为什么“包含”方法不匹配它们。publicclassForm1:Form{privateListdragDropFiles=newList();privatevoidForm1_DragDrop(objectsender,DragEventArgse){try{if(e.Data.GetDataPresent(DataFormats.FileDrop)){string[]files=(string[])e.D

c# - 在等待 List<Task> 中的所有任务完成时显示进度

我目前正在尝试在一行的末尾连续打印点作为不确定进度的一种形式,同时运行大量任务,使用以下代码:start=DateTime.Now;Console.Write("*Processingvariables");TaskentireTask=Task.WhenAll(tasks);Taskprogress=newTask(()=>{while(!entireTask.IsCompleted){Console.Write(".");System.Threading.Thread.Sleep(1000);}});progress.Start();entireTask.Wait();timeDi

c# - 为什么 List<T> 不实现 IOrderedEnumerable<T>?

我想使用有序的枚举,并使用接口(interface)作为返回类型而不是具体类型。我需要返回一组有序的对象。但是,当使用IList时执行我不能返回IOrderedEnumerable,作为IList不继承IOrderedEnumerable。在下面的示例中,我有一个带有系列存储库的View模型,实现为List。系列对象,因为它们位于List中。,下令。我是一个访问器方法,我想返回经过过滤的系列集合,其中仅返回特定类型的系列对象,同时保持过滤元素之间的原始顺序。//////Representstheviewmodelforthismodule.///publicclassViewModel