【C#图解教程 第十二章 数组】教程文章相关的互联网学习教程文章

将数组从C#传递到C的问题【代码】

我有一个应用程序,需要在其中将数组从C#传递到C DLL.最好的方法是什么?我在Internet上进行了一些搜索,发现需要使用ref从C#传递数组.相同的代码:status = IterateCL(ref input, ref output);输入和输出数组的长度为20.CDLL中的相应代码为IterateCL(int *&inArray, int *&outArray)这一次工作正常.但是,如果我第二次尝试从C#循环调用该函数,则C#中的输入数组将显示为一个元素的数组.为什么会发生这种情况,请帮助我如何从C#中迭代调...

c#-直接将字节数组发送到打印机【代码】

我的服务使用以下代码将报告转换为字节数组,然后传递给客户端(wpf应用):byte[] bytes = renderer.ServerReport.Render("PDF", deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings);其中renderer是Microsoft.Reporting.Webforms.ReportViewer的实例.这里有一个问题:encoding输出参数返回null,因此找不到有关编码的信息. UI必须将此字节数组以静默方式打印到打印机.可以将此字节数组直接发送到打...

在C#ASP.NET中向多维数组添加值【代码】

我需要在while循环中的多维数组中添加值.但是我不知道如何.public Array getDailyAvgRatingByCompanyId(int companyId, int periodStart = 0, int periodEnd = 0){int[,] arr = { { }, { } };string queryString = "SELECT num_ratings_day, rating_gem, daymonthyear FROM company_rating_daily_avg WHERE company_id = " + companyId + " ORDER BY daymonthyear ASC";SqlDataReader myDataReader = Database.sqlDataReader(query...

如何将C数组映射到C#?【代码】

我的问题与尝试从C#调用用C编写的函数有关.我查看了C库附带的头文件,以了解C dll中存在的功能.这是我看到的: C代码(用于名为“ LocGetLocations”的函数):typedef enum {eLocNoError,eLocInvalidCriteria,eLocNoMatch, eLocNoMoreLocations,eLocConnectionError, eLocContextError,eLocMemoryError } tLocGetStatus; typedef void *tLocFindCtx;typedef void *tLocation; PREFIX unsigned int POSTFIX LocGetLocations (tLocF...

c#-根据条件从列表创建属性值数组【代码】

我最近使用此站点获取了从对象列表中提取属性值数组的代码(我反复搜索,找不到更新的原始帖子或帮助:() 结果如下:qtyArray.AddRange(plan.Components.Select(c => c.qty.HasValue ? (int)c.qty.Value : 0).ToArray());问题是,我有其他属性要输出到并行数组中以传递给数据源,但我希望忽略任何错误的“活动”属性.因此,对于所有数组,请执行上述操作,但仅在c.active == true的情况下:plan.Components.Select(c => c.qty.HasValue ? (...

C#固定数组-最快读取哪种结构?【代码】

我有一些大型2D数据元素. A和B的尺寸不相等. A)在5到20之间 B)在1000到100000之间 初始化时间没有问题,因为它仅是实时应用程序的查找表,因此从知道值A和B的索引元素的性能至关重要.当前存储的数据是单个字节值. 我在考虑以下解决方案:byte[A][B] datalist1a;要么byte[B][A] datalist2a;要么byte[A,B] datalist1b;要么byte[B,A] datalist2b;或是因为我知道固定尺寸而失去了多维性,然后在查找之前将其乘以值.byte[A*Bmax + B] datal...

c#-如何将两个二维JSON数组发布到Web服务【代码】

我想将2D数组从json代码发布到我的Web服务,我的数组看起来像这样:{“ portlets”:[“ portlet2”,“ portlet3”,“ portlet1”,“ portlet4”],“ columns”:[“ column1”,“ column1”,“ column2”,“ column2”] } 我想在我的Web服务中执行的操作是在女巫列中获取女巫Portlet,以及它具有的sortindex,例如: > portlet1在column1中并且具有sortindex 0> portlet2在column1中,并具有sortindex 1> portlet3在column2中并且具有...

C#-获取锯齿状数组的前三个元素【代码】

我的大脑无法正常工作,我正在尝试抓住该网格上的前三行.我正在制作一个简单的跳棋游戏,只是为了学习一些新知识.我的代码抓住了前三列,以初始化红色棋子的放置.我想要前三行. 这是我的代码现在正在做的事情: 这是我的(简化)代码. Square是我的一类,仅存放一些小物件来跟踪碎片.private Square[][] m_board = new Square[8][];for (int i = 0; i < m_board.Length; i++)m_board[i] = new Square[8];//find which pieces should hold...

c#-将接口数组转换为结构数组时,隐式强制转换无效【代码】

我有一个实现某些接口的结构.直到我有一个struct实现的数组,并尝试将该数组隐式转换为接口类型的另一个数组,此方法才能正常工作. (请参见下面的代码示例)using System.Collections.Generic;namespace MainNS {public interface IStructInterface{string Name { get; }}public struct StructImplementation : IStructInterface{public string Name{get { return "Test"; }}}public class MainClass{public static void Main(){Struc...

C是否有一些类似于C#Type的东西来存储列表/数组中的类的Type?【代码】

在C#中,我可以创建这样的列表来存储类类型:List<Type> types_list = new List<Type>(); types_list.add(typeof(int)); types_list.add(typeof(Process)); //and etc我可以在C中做同样的事情吗?解决方法:您可以将类型列表存储为boost MPL.例:#include <boost mpl stuff>int main() {typedef boost::mpl::vector<char, int> types;typedef boost::mpl::push_back<types, Process>::type newTypes;boost::mpl::at_c<newTypes, 2>::...

c#-将数组数组序列化为单个XML元素【代码】

我有一个领域:public Field[][] fields;我想要一个XML:<Fields><Field x="0" y="0">...</Field><Field x="0" y="1">...</Field>... </Fields>不幸的是,C#XmlSerializer给了我<Fields><ArrayOfField>.... some fields here</ArrayOfField><ArrayOfField>.... some here</ArrayOfField>... </Fields>我该如何实现? 好吧,实际上我不需要坚持使用数组数组.这些字段确实代表2D空间,因此这是自然的选择.字典会序列化我需要的方式吗?解...

C#学习笔记04--排序/查找/二维数组/交叉数组【代码】【图】

一. 冒泡排序(重点) 思路: 每次比较把较小的放在前面, 大的放到后面; 图解:下图是最坏情况下的排序 ` 冒泡排序m个元素, 就有(m-1)趟排序, 第一趟m-1次, 第二趟 m-2次.... 总结下来就是趟数加上次数就等于总的元素数; 核心算法: int[] intNums = new int[] { 5, 4, 3, 2, 1 };int temp;for (int i = 0; i < intNums.Length - 1 ; i++){for (int j = 0; j < intNums.Length - 1 - i; j++){if (intNums[j] ...

c#-将所有低序位设置为0,直到剩下两个1(用于存储为字节数组的数字)【代码】

我需要将给定BigInteger的所有低位设置为0,直到只剩下两个1位为止.换句话说,将最高位和第二高位置1,同时不设置所有其他位. 该数字可以是位的任何组合.甚至可能全为1或全为0.例:MSB 0000 00001101 10100010 0111......... LSB 0100 1010我们可以轻松地取出一些极端情况,例如0、1,PowerOf2等.不知道如何在表示一个数字的字节数组上应用流行的位操作算法. 我已经查看了bithacks,但有以下限制. BigInteger结构仅通过ToByteArray...

c#-使用正确的编码将字节数组转换为字符串【代码】

我有一些使用http://www.developerfusion.com/tools/convert/csharp-to-vb/转换为VB的C#代码private string DecodeToken (string token, string key) { byte [] buffer = new byte[0];string decoded = "";int i;if (Scramble (Convert.FromBase64String(token), key, ref buffer)){for (i=0;i<buffer.Length;i++){decoded += Convert.ToString((char)buffer[i]);}}return(decoded); }经过一点修改后,结果如下:Private ...

PHP数组到C#字符串【代码】

在我的应用程序中,将请求从C#应用程序发送到PHP服务器.该应用程序通过POST发送详细的作者姓名.我希望PHP应用程序查询数据库并返回理想的作者详细信息数组: C#String result = "";string url = LINK_TO_SITE;using (WebClient client = new WebClient()){NameValueCollection postData = new NameValueCollection(){{"Author", Properties.Settings.Default.Author} };result = Encoding.UTF8.GetString(client.Uplo...