草庐IT

encoded_array

全部标签

c# - Array 类和 Enum.GetValues() 的简单形式

我正在使用静态方法Enum.GetValues(typeof(SomeEnum));当您需要做的只是枚举值时,此方法非常有用,但出于某种原因,它返回一个非常简单的Array类形式。我正在尝试找到一种简单的方法将其返回值转换为更“正常”的集合类,例如常规数组或List。到目前为止,如果我想这样做,我必须枚举Enum.GetValues(typeof(SomeEnum));的输出。并将它们一一添加到列表。有什么想法可以更干净地做到这一点吗?答案:关键是对返回结果进行强制转换--SomeEnum[]enums=(SomeEnum[])Enum.GetValues(typeof(SomeEnu

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# 反射 : 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#、Excel + csv : how to get the correct encoding?

我已经尝试了很长一段时间,但无法弄清楚。我正在尝试通过*.csv文件将数据导出到Excel。到目前为止效果很好,但是在Excel中打开文件时我遇到了一些编码问题。(左边是原始字符串,右边是EXCEL结果):Messwert(µm/m)==>Messwert(µm/m)DümmeMässöng==>DümmeMässöngNotepad++告诉我文件编码为“ANSIasUTF8”(WTF?)因此,这里是我尝试获得有效结果的不同方法:明显的实现:tWriter.Write(";Messwert(µm/m)");更复杂的(可能尝试了十几种或更多的编码组合:)tWriter.Write

c# - 为什么 UTF8Encoding.GetBytes 不发出字节顺序标记?

这个片段说明了一切:-)UTF8Encodingenc=newUTF8Encoding(true/*includeByteOrderMark*/);byte[]data=enc.GetBytes("a");//datahaslength1.//IexpectedtheBOMtobeincluded.What'sup? 最佳答案 您不希望它用于每次GetBytes调用,否则您将无法(比方说)一次写入一个文件一行。通过使用GetPreamble公开它,调用者可以在适当的点插入前导码(即在他们的数据的开头)。不过,我同意文档可能会更清晰。

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),它将反转两次,产生与开始前相同的元素顺序。

c# - 如果返回内容为 Transfer-Encoding :chunked?,如何从 HttpWebResponse 获取完整内容

我正在编写一个程序来从其他网站下载html页面。我发现一个问题,对于某些特定的网站,我无法获得完整的html代码。而且我只能得到部分内容。有此问题的服务器正在以“Transfer-Encoding:chunked”发送数据恐怕这就是问题的原因。这是服务器返回的头信息:Transfer-Encoding:chunkedConnection:keep-alivePragma:no-cacheCache-Control:no-store,no-cache,must-revalidate,post-check=0,pre-check=0Content-Type:text/html;charse

c# - 使用 Json.Net 反序列化时出现错误 "Cannot deserialize the current JSON array"

我有一个字符串:[{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5},{"key":"key1","value":"{'Time':'15:18:42','Data':'15:18:42'}","duration":5}]我的模型类:publicclassCPacket{publicstringkey{get;set;}publicstringvalue{get;set;}publicintduration{get;set;}}我使用Json.Net,我想将下面的字符串转换为Json对象

c# - System.Text.Encoding.GetEncoding ("iso-8859-1") 抛出 PlatformNotSupportedException?

看题目,注意这个问题只适用于.NETcompact框架。这发生在WindowsMobile6ProfessionalSDK附带的模拟器以及我的英语HTCTouchPro(所有.NETCF3.5)上。iso-8859-1代表西欧(ISO),这可能是除us-ascii之外最重要的编码(至少在usenet帖子数量上是这样)。我很难理解为什么不支持这种编码,而支持以下编码(同样在模拟器和我的HTC上):iso-8859-2(中欧(ISO))iso-8859-3(拉丁语3(ISO))iso-8859-4(波罗的海(ISO))iso-8859-5(西里尔字母(ISO))iso-8859-7(希腊语