草庐IT

file_name_array_r

全部标签

C# I/O - System.IO.File 和 StreamWriter/StreamReader 之间的区别

假设我只对处理文本文件感兴趣,那么与StreamWriter相比,System.IO.File方法有哪些具体优势或劣势?是否涉及任何性能因素?基本区别是什么,在什么情况下应该使用哪些?还有一个问题,如果我想将一个文件的内容读入一个字符串并对其运行LINQ查询,哪个最好? 最佳答案 在File类中看似重复的方法背后有一段有趣的历史。它是在对.NET的预发布版本进行可用性研究之后产生的。他们请了一群有经验的程序员编写代码来操作文件。他们以前从未接触过.NET,只是有文档可以使用。成功率为0%。是的,有区别。当您尝试读取一个GB或更大的文

c# - 将 system.array 对象转换为 int[] 字符串或其他类型的对象

我正在学习C#并试图理解它的“面向类型”方面。所以前几天我需要从一个方法中接收一个System.Array对象。然后我尝试使用它的单个对象,所以我尝试用索引来解决它。编译器不让,说System.Array对象不支持索引。但是Array不是所有数组的基类吗(System.Arrayonmsdn)?为什么int[]支持索引而Array[]不支持?下面是一些代码来演示这个问题:int[]intArray={1,2,3,4,5,6,7,8,9,10};intt;ArraysysArray;Console.WriteLine("{0}",intArray.GetType().ToString()

c# - ASP.net Web API : change class name when serializing

我有一个产品的数据传输对象类publicclassProductDTO{publicGuidId{get;set;}publicstringName{get;set;}//Otherproperties}当Asp.net序列化JSON(使用JSON.NET)或XML中的对象时,它会生成ProductDTO对象。但是,我想在序列化期间更改名称,从ProductDTO到Product,使用某种属性:[Name("Product")]publicclassProductDTO{[Name("ProductId")]publicGuidId{get;set;}publicstringName{

c# - 使用 File.Exists 检查文件是否存在于 64 位系统上

我的操作系统是64位的,文件夹C:\Windows\SysWOW64中有一个文件111.txt,但在c:\windows\system32中没有该文件但是下面的代码返回truefile=@"C:\Windows\System32\111.txt";boolbExist=System.IO.File.Exists(file);不知道为什么?以及如何检查system32下是否有文件111.txt而不是SysWoW64? 最佳答案 由于许多应用程序已将System32目录名称硬编码到路径中,MS将64位系统文件放在那里而不是“System

c# - File.ReadLines 什么时候释放资源

在C#中处理文件时,我习惯于考虑释放相关资源。通常这是一个using语句,除非它是一个单行方便的方法例如File.ReadAllLines,它将为我打开和关闭文件。.Net4.0引入了便捷方法File.ReadLines。这将返回一个IEnumerable并被称为处理文件的更有效方式-它避免将整个文件存储在内存中。为此,我假设枚举器中有一些延迟执行逻辑。显然,由于此方法返回的是IEnumerable而不是IDisposable,因此我不能按照我对using语句的直觉react去做。我的问题是:考虑到这一点,使用此方法在资源释放方面是否存在任何问题?调用此方法是否意味着关联文件锁的释放是

C# 反射 : how to get an array values & length?

FieldInfo[]fields=typeof(MyDictionary).GetFields();MyDictionary是一个静态类,所有字段都是字符串数组。如何获取每个数组的长度值,然后遍历所有元素?我尝试了这样的类型转换:fieldasArray但它会导致错误Cannotconverttype'System.Reflection.FieldInfo'to'System.Array'viaareferenceconversion,boxingconversion,unboxingconversion,wrappingconversion,ornulltypeconversion

c# - Array 中会发生装箱和拆箱吗?

我是编程新手,根据MSDN,Boxingistheprocessofconvertingavaluetypetothetypeobjectortoanyinterfacetypeimplementedbythisvaluetype.WhentheCLRboxesavaluetype,itwrapsthevalueinsideaSystem.Objectandstoresitonthemanagedheap.Unboxingextractsthevaluetypefromtheobject.Boxingisimplicit;unboxingisexplicit.我知道我们可以在数组列表中

c# - WPF 文件放置事件 : just allow a specific file extension

我有一个WPF控件,我想将一个特定的文件从我的桌面拖放到这个控件中。这不是很重要的部分,但我想检查文件扩展名以允许或禁止删除。解决此问题的最佳方法是什么? 最佳答案 我认为这应该可行:假设您只想允许C#文件:privatevoidlbx1_DragOver(objectsender,DragEventArgse){booldropEnabled=true;if(e.Data.GetDataPresent(DataFormats.FileDrop,true)){string[]filenames=e.Data.GetData(Data

c# - SQL 服务器 : invalid object name in query execution

我正在尝试执行Insert语句,但一直收到Invalidobjectname错误。这是我的代码:publicstringaddNewComment(intuserID,intpageID,stringtitle,stringcomment){stringquery="INSERTINTOdbo.nokernok_kommentarer(userID,pageID,commentTitle,comment)"+"VALUES("+userID+","+pageID+",'"+title+"','"+comment+"')";adapter.InsertCommand=newSqlComm

c# - 不使用 Array.Reverse() 反转数组

如何在不使用Array.Reverse()方法的情况下反转数组(在C#中)?例如,int[]arr={1,3,4,9,8};//somecodehereConsole.WriteLine(string.Join(",",arr));应该导致8,9,4,3,1我得到这个作为面试任务。 最佳答案 要替换问题中的//somecodehere的代码是:for(inti=0;i您应该只遍历数组的前半部分(arr.Length/2)。如果您遍历整个数组(arr.Length),它将反转两次,产生与开始前相同的元素顺序。