草庐IT

可变数组

全部标签

c# - iTextSharp 从字节数组列表创建 pdf

我有一个byte[]列表,我想将其连接成一个byte[],这将是最终的PDf。在“page=copy.GetImportedPage(newPdfReader(p),i);”我收到“对象引用未设置为实例错误”。我不知道发生了什么,我已经检查了每个对象并且没有空值。关于这个的任何想法,或者另一段代码可以解决这个问题?!我有这个方法:编辑publicstaticbyte[]concatAndAddContent(Listpdf){byte[]todos;using(MemoryStreamms=newMemoryStream()){Documentdoc=newDocument();doc

C# App.Config 带有数组或列表之类的数据

如何在app.config中包含数组或列表之类的信息?我希望用户能够放置尽可能多的IP(或根据需要)。我的程序将只接受app.config中指定的任何内容。如何做到这一点?publicstringip=ConfigurationManager.AppSettings["ip"]; 最佳答案 最简单的方法是在App.config文件中使用逗号分隔列表。当然,您可以编写自己的配置部分,但如果它只是一个字符串数组,那么这样做有什么意义呢,保持简单。publicstring[]ipArray=ConfigurationManager.App

c# - 将一个二维数组复制到另一个二维数组

我使用这段代码将一个二维数组复制到另一个二维数组:Array.Copy(teamPerformance,0,tempPerformance,0,teamPerformance.Length);但是,当我更改tempPerformance中的一些数据时,这些更改也适用于teamPerformance。我应该怎么做才能控制它? 最佳答案 你需要Clone()double[,]arr={{1,2},{3,4}};double[,]copy=arr.Clone()asdouble[,];copy[0,0]=2;//itreallycopie

c# - 从字节数组运行程序

我有一个存储在字节数组中的程序。是否可以在C#中运行它? 最佳答案 是的。Thisanswer显示您可以直接执行字节数组的内容。基本上,您使用VirtualAlloc使用已知地址(IntPtr)在堆上分配一个可执行区域。然后使用Marshal.Copy将字节数组复制到该地址.您使用GetDelegateForFunctionPointer将指针转换为委托(delegate),最后将其作为普通委托(delegate)调用。 关于c#-从字节数组运行程序,我们在StackOverflow上找

c# - 在商店应用程序中通过 HTTP POST 发送字节数组

我正在尝试通过HTTPpost从Windows应用商店应用程序向服务器发送一些图像+一些元数据,但在尝试将数据实际包含在post中时卡住了。由于商店应用程序API的更改,无法像在Windows窗体应用程序或类似应用程序中那样完成此操作。我得到了错误。cannotconvertsourcetypebyte[]totargettypeSystem.Net.Http.httpContent现在这显然是因为它有2种不同的类型不能隐式转换,但这基本上是我希望能够做到的。如何将我的字节数组数据放入httpContent类型,以便我可以将其包含在以下调用中httpClient.PostAsync(U

C#:改变数组中每一项的值

我想知道是否有内置的.NET功能可以根据提供的委托(delegate)的结果更改数组中的每个值。例如,如果我有一个数组{1,2,3}和一个返回每个值的平方的委托(delegate),我希望能够运行一个接受数组和委托(delegate)的方法,并返回{1,4,9}。是否已经存在这样的东西? 最佳答案 LINQ使用Select提供对投影的支持扩展方法:varnumbers=new[]{1,2,3};varsquares=numbers.Select(i=>i*i).ToArray();你也可以使用稍微不太流畅的Array.Convert

c# - 我应该从函数返回数组还是集合?

从函数返回多个相同类型的对象时,首选容器类型是什么?返回一个简单的数组(如MyType[])是否违反良好实践,或者你应该将它包装在一些通用容器中(如ICollection)?谢谢! 最佳答案 EricLippert有一个很好的article对此。如果您懒得阅读整篇文章,答案是:返回接口(interface)。 关于c#-我应该从函数返回数组还是集合?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

c# - 如何获取数组的所有子集?

给定一个数组:[dog,cat,mouse]什么是最优雅的创建方式:[,,][,,mouse][,cat,][,cat,mouse][dog,,][dog,,mouse][dog,cat,][dog,cat,mouse]我需要它适用于任何大小的数组。这本质上是一个二进制计数器,其中数组索引代表位。这大概让我可以使用一些按位运算来计数,但我看不到将其转换为数组索引的好方法。 最佳答案 优雅?为什么不对其进行Linq。publicstaticIEnumerable>SubSetsOf(IEnumerablesource){if(!sou

c# 如何将字节添加到字节数组

如何将一个字节添加到现有字节数组的开头?我的目标是使数组长度为3个字节到4个字节。所以这就是为什么我需要在它的开头添加00填充。 最佳答案 你不能那样做。无法调整数组的大小。您必须创建一个新数组并将数据复制到其中:bArray=AddByteToArray(bArray,newByte);代码:publicbyte[]AddByteToArray(byte[]bArray,bytenewByte){byte[]newArray=newbyte[bArray.Length+1];bArray.CopyTo(newArray,1);ne

c# - 使用字节数组时的堆碎片

我有一个C#4.0应用程序(单一生产者/单一消费者),它以block的形式传输大量数据。虽然没有新的内存分配,但我在一段时间后内存不足。我使用Redgate内存分析器分析了内存,那里有很多空闲内存。它说由于碎片无法使用空闲内存。我使用阻塞集合作为缓冲区,使用字节数组作为成员:BlockingCollectionsegments=newBlockingCollection(8);//producer:segments.Add(buffer);//consumer:byte[]buffer=_segments.Take();如何避免托管内存碎片? 最佳答案