【使用C#中的数组成员的Marshal结构】教程文章相关的互联网学习教程文章

c# – 如何比较两个数组列表?【代码】

我有以下代码:List<byte[]> list1 = new List<byte[]>(); list1.Add(new byte[] { 0x41, 0x41, 0x41, 0x41, 0x78, 0x56, 0x34, 0x12 });List<byte[]> list2 = new List<byte[]>(); list2.Add(new byte[] { 0x41, 0x41, 0x41, 0x41, 0x78, 0x56, 0x34, 0x12 }); list2.Add(new byte[] { 0x42, 0x42, 0x42, 0x42, 0x78, 0x56, 0x34, 0x12 }); // this arrayIEnumerable<byte[]> list3 = list2.Except(list1);我希望list3只包含list2...

将C#代码迁移到Java,无符号短和字节数组转换【代码】

我正在用Java编写一段代码(我对Java很新),我之前用C#编写过.这是C#中的代码和示例.ushort number = 0xAABB; // 43707 byte[] data = new byte[2]; EndianBitConverter.Big.CopyBytes(number, data, 0); // value[0] = 170, value[1] = 187我在.NET中使用自定义位转义器,因为它默认为小端.无论如何,根据我对java的理解,如果我想使用与byte []相同的结果,我应该期望我的值(170和187)小于128(Byte.MAX_VALUE 1),即(42,59) – 由于.net...

C#通用列表中的数组协方差【代码】

我有一个例子,我想要一个抽象类接口来返回这样的东西abstract class AnimalProcessor {public abstract IList<Animal> ProcessResults(); }然后是具体的例子class GiraffeProcessor : AnimalProcessor {public override IList<Animal> ProcessResults() {return new List<Giraffe>();} }class LionProcessor : AnimalProcessor {public override IList<Animal> ProcessResults() {return new List<Lion>();} }问题是具体类需要具有...

c# – LINQ可以构造并返回一个多维数组

是的,我确实知道锯齿状数组[] []和多维数组[,]之间的区别. 是的,我找了重复,发现了这些: > How to use LINQ on a multidimensional array to ‘unwind’ the array?> Convert 2 dimensional array> c# linq return a multidimensional array from linq 其中最后一个包含完成工作的功能.但我的问题仍然是:是否有任何方法(无论多么扭曲或设计)说服LINQ以多维数组(而不是锯齿状数组)的形式构造和返回结果? 这与问题并不真正相关,但...

C#连接字符串或字符数组【代码】

我在开发应用程序时遇到问题.基本上,我有一个固定的字符串,让我们说“IHaveADream” 我现在想要用户插入另一个字符串,为了我固定长度的目的,然后将固定字符串的每个字符与用户插入的字符串的每个字符连接起来.例如用户插入“ByeBye”然后输出将是:“IBHyaevBeyAeDream”. 怎么做到这一点? 我已经尝试使用String.Concat和String.Join,在for语句中,没有运气.解决方法:一个内存有效的选项是使用字符串构建器,因为原始字符串和用户输...

如何调用C#委托从本机C最简单的方式传递字符串数组?【代码】

我知道这可以通过在C中进行mallocing,将malloced指针传递给参数类型为IntPtr的委托,将编组传递给string []然后使用托管代码中的单独导出的C函数释放malloced内存来完成. 我的问题是:这可以做得更简单吗?例如. : > C#delegate参数的类型为string []?>没有单独的自由函数来从托管代码调用 编辑:我试过代理签名:[UnmanagedFunctionPointer(CallingConvention.Cdecl)] MyManagedDelegate(string[] values, int valueCount)和C中的...

c# – 将Char添加到数组中的每个元素【代码】

在我的情况下,输入是一个字符串,其中包含由逗号分隔的元素列表 输入:var input = "123,456,789";预期输出(字符串):"'123','456','789'"我正在寻找VB.net的解决方案,但我不太熟悉它.所以,我在c#中尝试过.不知道我错过了什么. 我的尝试:var input = "123,456,789"; var temp = input.Split(new Char[] { ',' }); Array.ForEach(temp, a => a = "'" + a + "'"); Console.WriteLine(String.Join(",",temp));实际产量:"123,456,789"...

c# – 如何展平阵列数组?【代码】

我有一个由以下元素组成的数组:var schools = new [] {new object[]{ new[]{ "1","2" }, "3","4" },new object[]{ new[]{ "5","6" }, "7","8" },new object[]{ new[]{ "9","10","11" }, "12","13" } };我尝试展平的真实对象是从CSV导入数据到数组,然后在字段值上加入它:var q =from c in listjoin p in vocatives on c.Line[name1].ToUpper() equals p.first_name.ToUpper() into psfrom p in ps.DefaultIfEmpty()select new obj...

c# – 使用扩展方法复制数组【代码】

我有以下代码:DateTime[] localTimeArray = GetTimeData<DateTime>();现在问题是我需要为GetTimeData返回的数组中的每个元素调用.ToLocalTime(),然后将它们复制到新数组. 如何在不必手动迭代每个项目的情况下进行此操作? 显然以下不起作用:DateTime[] localTimeArray = GetTimeData<DateTime>().ToLocalTime();由于GetTimeData来自外部库,因此无法按照注释中的建议在其中添加代码.解决方法:尝试DateTime[] localTimeArray = Get...

如何将结构数组从C dll返回到C#【代码】

我需要在dll中调用一个函数并返回一个结构数组.我事先并不知道阵列的大小.如何才能做到这一点?该错误无法封送“返回值”无效的托管/非托管 C#中的代码:[DllImport("CppDll"] public static extern ResultOfStrategy[] MyCppFunc(int countO, Data[] dataO, int countF, Data[] dataF);在C:extern "C" _declspec(dllexport) ResultOfStrategy* WINAPI MyCppFunc(int countO, MYDATA * dataO, int countF, MYDATA * dataF) {retur...

C#Split byte []数组【代码】

我正在进行RSA加密,我必须将长字符串拆分为小字节[]并加密它们.然后我组合数组并转换为字符串并写入安全文件. 然后加密创建字节[128] 我使用以下结合:public static byte[] Combine(params byte[][] arrays) {byte[] ret = new byte[arrays.Sum(x => x.Length)];int offset = 0;foreach (byte[] data in arrays){Buffer.BlockCopy(data, 0, ret, offset, data.Length);offset += data.Length;}return ret; }当我解密时,我接受字符...

c# – 为我的AES方法创建一个字节数组的字符数是多少?【代码】

我在这里使用AES方法:http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx 我想要一个字符串值,我将转换为字节数组并将其传递给AES加密方法.字符串应该有多少个字符来生成方法所需的正确字节数组大小?static byte[] encryptStringToBytes_AES(string plainText, byte[] Key, byte[] IV){// Check arguments.if (plainText == null || plainText.Length <= 0)throw new ArgumentNullExce...

c# – 将控件绑定到WPF中的集合/数组中的单个值【代码】

在WPF我有一个bool的集合?我希望以编程方式将这些值中的每一个绑定到一个单独的复选框.我希望绑定是TwoWay,以便在代码中更改集合中单个项的值更新复选框,反之亦然. 我花了很长时间试图弄清楚如何做到这一点,我完全卡住了.使用以下代码,复选框仅在窗口加载时获得正确的值,就是这样.更改复选框甚至不更新集合中的值. (更新:这似乎是.NET4中的一个错误,因为该集合在相同的.NET3.5项目中得到更新.更新:Microsoft已经确认了该错误,并...

【转载】 C#使用string.Join快速用特定字符串串联起数组

在C#中有时候我们的数组元素需要通过一些特定的字符串串联起来,例如将整形Int数组通过逗号快速串联起来成为一个字符串,可以使用String.Join方法。或者一个字符串string类型数组所有元素快速用分号连接起来也一样可使用string.Join方法。string.join方法的格式为Join(String separator, IEnumerable values),separator代表用来串联的字符串信息,values表示数组或者list集合等信息。 例如我们数据库查询有时候会用到In关键字,In里...

C#资源数组【代码】

我有一堆我在C#项目中使用的图片,我正在尝试将它们初始化以供以后使用.其中有50多个,它们都具有相同的名称格式.资源._#,其中#是图片编号.我想要做的是:for(int i = 0; i < 100; i++) {pics[i] = Properties.Resources._i; }我如何将索引嵌入名称? 谢谢,节日快乐. 编辑:刚才意识到如果我有一种方法在名称中嵌入索引,我可以只有一个函数根据给定的数字返回特定的图片,这样也可以.解决方法:像这样:(Bitmap)Properties.Resources.R...