草庐IT

多维度

全部标签

c# - 如何转置多维数组?

我认为这可能是一个非常简单的问题,但我还没有弄明白。如果我有一个像这样的二维数组:int[,]matris=newint[5,8]{{1,2,3,4,5,6,7,8},{9,10,11,12,13,14,15,16},{17,18,19,20,21,22,23,24},{25,26,27,28,29,30,31,32},{33,34,35,36,37,38,39,40},};和一个for循环,像这样:for(intr=0;r因此,使用这段代码,我打印出了多维数组。但是如何打印出数组的转置? 最佳答案 只需改变彼此的循环即可:for(

c# - 多维数组与一维数组

这基本上是对这个问题的重述:Java:Multi-dimensionalarrayvs.One-dimensional但对于C#。我有一定数量的元素可以存储为网格。我应该使用数组[x*y]还是数组[x][y]?编辑:哦,所以有一维数组[x*y]、多维数组[x,y]和锯齿状数组[x][y],我可能想要锯齿状? 最佳答案 在C#中使用jaggedarrays有很多优点(数组[][])。它们实际上通常会胜过多维数组。话虽这么说,但我个人会使用多维或交错数组而不是一维数组,因为这更符合问题空间。使用一维数组会增加您的实现的复杂性,不会带来真

c# - 如何用不同的默认值初始化多维数组

我正在尝试用-1初始化二维整数值数组。当我创建一个新数组时,它会自动填充为0。我知道我可以用2个循环来完成它,但我想在构建数组时应该有一些方法可以做到这一点(这样我就不必经历两次),所以提供的不是0值将被插入。可能吗?如果不是在数组的初始构建期间,是否有其他时间或代码节省方式,或者我是否坚持使用2for循环? 最佳答案 试试这样:int[,]array2D=newint[,]{{-1},{-1},{-1},{-1}};或维度int[,]array2D=newint[4,2]{{-1,-1},{-1,-1},{-1,-1},{-1,-

c# - 如何在 C# 中创建多维数组列表?

是否可以在C#中创建多维数组列表?StartDateQtysize9/1/201010159/1/200912179/1/20081119StartDate、Qty和size是3个数组列表。我需要将它们放在一个数组列表中。我还需要按StartDate对这个数组列表进行排序。这可能吗?除了arraylist之外,还有更好的方法吗? 最佳答案 你可以那样做,是的。但在这种情况下,因为每一行看起来都是相关的,为什么不创建一个类来保存数据:publicclassInfo{publicDateTimeStartDate{get;set;}pu

c# - C# 中的多维数组列表或列表?

是否可以在C#中创建多维列表?我可以像这样创建一个多维数组:string[,]results=newstring[20,2];但我希望能够使用列表或数组列表中的一些功能,例如能够添加和删除元素。 最佳答案 您可以创建列表列表publicclassMultiDimList:List>{}或键可访问列表的字典publicclassMultiDimDictList:Dictionary>{}MultiDimDictListmyDicList=newMultiDimDictList();myDicList.Add("ages",newLis

c# - 从 Excel 中读取(范围到多维数组)C#

我如何从Excel工作表中读取并将标记的选择(区域)加载到多维数组中?Excel中的一列本身可以是一个多维数组,因为它包含多个值。现在的想法(不确定这有多好或多坏)是在所有Excel.Area(选定字段)中执行一个for循环,并将该字段的内容添加到多维数组中。由于多维数组是object[,]类型,因此是非泛型的,因此没有方便的add()方法。所有这些都需要手动完成。不知道这种方法是否可行,或者是否可以更有效地完成? 最佳答案 您可以将Range的值读取为数组:using(MSExcel.Applicationapp=MSExcel.

c# - 如何使用 LINQ 转置二维集合中的维度?

考虑以下结构:IEnumerable>collection=new[]{new[]{1,2,3},new[]{4,5,6},new[]{7,8,9}};如何枚举此集合以获得IEnumerable由第一项、第二项等组成的集合?即{1,4,7},{2,5,8},...(虽然我选择的实现是int[]对象,但假设您只有IEnumerable功能。谢谢。) 最佳答案 这是一种使用生成器而不是递归的方法。数组构造也较少,因此它可能更快,但这完全是推测。publicstaticIEnumerable>Transpose(thisIEnumerab

c# - 在 LINQ 中选择多维数组

这个问题在这里已经有了答案:GenerateatwodimensionalarrayviaLINQ(1个回答)关闭8年前。我有一项任务需要将DataTable转换为二维数组。只需循环遍历行和列(请参见下面的示例)即可轻松做到这一点。privatestaticstring[,]ToArray(DataTabletable){vararray=newstring[table.Rows.Count,table.Columns.Count];for(inti=0;i我真正想做的是在LINQ中使用select语句来生成二维数组。不幸的是,在LINQ中似乎没有办法选择多维数组。是的,我知道我可以使

Javascript:排序多维数组

我有一个包含3列的多维数组(通过使用javascript)[0]Numberofvote[1]Nameofcandidate[2]CandidateNumber我的数组内容是:1|Peter|31|Mary|20|David|50|John|40|Billy|1如何按[0]票数和[2]候选人数对数组进行排序?结果应该是:1|Mary|21|Peter|30|Billy|10|John|40|David|5 最佳答案 如前所述,您应该使用自定义排序功能。这是一个可以完全按照您的意愿行事的人。vararr=[];arr[0]=[1,'P

javascript - 在多维数组javascript或coffeescript中获取最大值

我有一个如下所示的数组:array=[[1,5],[4,7],[3,8],[2,3],[12,4],[6,6],[4,1],[3,2],[8,14]]我需要的是集合中第一个值中的最大值,因此在本例中为12。查看一些在线示例,我看到实现此目的的最佳方法是:Math.max.applyMath,array问题是,这只适用于一维数组。我将如何为我的senario暗示这一点?(允许jquery)最终解决方案:这不是问题的一部分,但我需要数组中的最小值和最大值,这会稍微改变一下。unlessdevice.IEjustTheDates=magnitudeArray.map(i)->i[0]@ear