草庐IT

list_files

全部标签

c# - 为什么 List<T>.Sort 使用 Comparer<int>.Default 比等效的自定义比较器快两倍以上?

结果使用1000万个随机列表ints(每次相同的种子,重复10次的平均值):listCopy.Sort(Comparer.Default)需要314毫秒。使用sealedclassIntComparer:IComparer{publicintCompare(intx,inty){returnxlistCopy.Sort(newIntComparer())需要716毫秒。一些变化:使用structIntComparer而不是sealedclass:771毫秒使用publicintCompare(intx,inty){returnx.CompareTo(y);}:809毫秒评论Compar

c# - 当路径太长时,File.Exists() 错误地返回 false

我目前正在开发一个遍历各种目录的程序,以确保使用File.Exists()存在特定文件。应用程序一直声称某些文件不存在,而实际存在,我最近发现这个错误是由于路径太长造成的。我知道有一些关于SO的问题可以解决File.Exists()返回不正确的值,但似乎没有一个可以解决这个特定问题。重命名目录和文件以缩短路径并不是一个真正的选择,所以我现在不确定该怎么做。是否有解决此问题的变通方法?正在使用的代码没什么特别的(我删除了一些不相关的代码),但我会在下面包含它以防万一。privatevoidcheckFile(stringpath){if(!File.Exists(path))Consol

c# - List<T>.AddRange() 线程安全吗?

我可以在不锁定的情况下从多个线程安全地调用List.AddRange(r)吗?如果不是,我会遇到什么样的麻烦? 最佳答案 否,itsdocumentation没有说它是线程安全的,因此它不是。Publicstatic(SharedinVisualBasic)membersofthistypearethreadsafe.Anyinstancemembersarenotguaranteedtobethreadsafe.至于哪里会出错,想想AddRange(newItems)做了什么:检查内部数组是否有足够的空间如果不是:分配一个新数组将

c# - Linq/Lambda OrderBy Delegate for List<string> of IP Addresses

给定Listips=newList();我需要按逻辑顺序对IP地址列表进行排序(即“192.168.0.2”出现在“192.168.0.100”之前)。当前(并且正确地,按字母顺序排列)如果列表包含:192.168.0.1192.168.0.2192.168.0.10192.168.0.200ips.OrderBy(p=>p)返回:192.168.0.1192.168.0.10192.168.0.2192.168.0.200 最佳答案 你需要做一个比较器:(已测试)classIPComparer:IComparer{publicin

c# - 是否可以将 GroupCollection 转换为 List 或 IEnumerable?

是否可以将GroupCollection转换为List或IEnumerable?我指的是正则表达式中的GroupCollection。 最佳答案 当然GroupCollectioncol=...;IEnumerableenumerable=col.Cast();Listlist=col.Cast().ToList(); 关于c#-是否可以将GroupCollection转换为List或IEnumerable?,我们在StackOverflow上找到一个类似的问题:

c# - 如何将 List<T> 转换为 DataSet?

给定一个对象列表,我需要将其转换为一个数据集,其中列表中的每个项目都由一行表示,每个属性是该行中的一列。然后这个数据集将被传递给Aspose.Cells功能,以便将Excel文档创建为报告。假设我有以下内容:publicclassRecord{publicintID{get;set;}publicboolStatus{get;set;}publicstringMessage{get;set;}}给定一个List记录,我如何将其转换为DataSet,如下所示:IDStatusMessage1true"message"2false"message2"3true"message3"...目前

c# - "Program Files"文件夹下的文件写权限问题

我正在使用innosetup为我的应用程序制作安装包,我的应用程序是由C#+.Net2.0+VSTS2008编写的。Innosetup=>http://www.jrsoftware.org/isinfo.php我将我的应用程序安装在ProgramFiles/Foo文件夹下(Foo是我的应用程序名称)。我的应用程序面向WindowsVista。我发现的问题是我的程序无法写入文件夹ProgramFiles/Foo。而且我需要写入此文件夹的权限才能保存一些配置文件。我注意到的奇怪的事情是文件夹ProgramFiles/Foo被标记为只读,我检查了ProgramFiles下的所有文件夹都被标记

c# - LINQ 和 XDocument : How to create XML file?

我在C#中有一个三个列表,变量名称是l_lstData1、l_lstData2、l_lstData3。文件结构为3个List的取值如下:l_lstData1[0]="India";l_lstData1[1]="chennai";l_lstData1[2]="hyderabad";l_lstData1[3]="calcutta";所以上面的XML(element:Data)的level属性的值为="2"。l_lstData2[0]="vijayawada";l_lstData2[1]="cochin";所以上面的XML(element:Data)的level属性的值为="1"。l_lst

c# - 将 List<T> 转换为 List<object>

我对泛型类有疑问。我有这样的东西:publicabstractclassIGroup:IEnumerablewhereT:class{protectedListgroupMembers;protectedListgroupIGameActionList;publicIGroup(){groupMembers=newList();groupIGameActionList=newList();//groupIGameActionList.Add(newDieGameAction(groupMembers));}}第二类:classDieGameAction:IGameAction{List

c# - 将 XmlNodeList 转换为 List<string>

是否可以转换XmlNodeList到List无需声明新的List?我正在为此寻找一个简单的实现:System.Xml.XmlNodeListmembersIdList=xmlDoc.SelectNodes("//SqlCheckBoxList/value");ListmemberNames=newList();foreach(System.Xml.XmlNodeiteminmembersIdList){memberNames.Add(library.GetMemberName(int.Parse(item.InnerText)));} 最佳答案