草庐IT

可变数组

全部标签

c# - 在排序数组中找到小于 x 的最大值

假设我有一个排序的整数数组int[],我想搜索最接近某个输入数字的较小值。例如,如果数组包含(1),(23),(57),(59),(120)并且输入为109,则输出应为59。我只是想看看建议并与我已有的方法进行比较。 最佳答案 使用Array.BinarySearch.如果输入在列表中,它将返回索引,如果不在列表中,则返回第一个较大值的索引的补码。您只需反转结果并减去一个以获得最接近的较小值的索引。int[]arr={1,23,57,59,120};intindex=Array.BinarySearch(arr,109);if(in

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

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

c# - ForEach 修剪字符串数组中的字符串值

我只是想知道为什么这个ForEach不起作用并留下带有尾随空格的值。stringdays="Monday,Tuesday,Wednesday,Thursday,Friday";string[]m_days=days.Split(',');m_days.ToList().ForEach(d=>{d=d.Trim();});我知道还有其他方法可以做到这一点,所以我不需要在那里回答。 最佳答案 因为您没有重新分配修剪后的字符串。varlist=m_days.Split(',').Select(s=>s.Trim()).ToList();W

c# - 向右移动数组元素?

我不能为此使用内置函数,我必须使用我自己的逻辑。我已经将元素移动到左侧,但右侧对我不起作用。不知道为什么。我的左边方法:publicint[]shiftLeft(int[]arr){int[]demo=newint[arr.length];intindex=0;for(inti=0;i以及我对正确转变的尝试:publicint[]shiftRight(int[]arr){int[]demo=newint[arr.length];intindex=0;for(inti=arr.length-1;i>=0;i--){demo[index]=arr[(i-1>0)?i-1:0];index+

c# - 使用 LINQ 和 C# 的随机数组

我在MSDN杂志上阅读了一篇关于使用EnumerableclassinLINQ的文章生成一个随机数组。这篇文章使用了VB.NET,我不能立即确定C#中的等价物是什么:DimrndAsNewSystem.Random()Dimnumbers=Enumerable.Range(1,100)._OrderBy(Function()rnd.Next) 最佳答案 DeveloperFusionVB.NettoC#converter表示等效的C#代码是:System.Randomrnd=newSystem.Random();IEnumerabl

c# - 如何在没有流或系统 io 的情况下压缩字节数组

我正在尝试将图像编码为字节数组并将其发送到服务器。编码和发送部分工作正常,但我的问题是字节数​​组太大,发送时间太长,所以我认为压缩它会使它运行得更快。但实际问题是我不能使用system.io或流。我的目标是.net2.0。谢谢。 最佳答案 usingSystem.IO;usingSystem.IO.Compression;代码:publicstaticbyte[]Compress(byte[]data){MemoryStreamoutput=newMemoryStream();using(DeflateStreamdstream=

c# - c#中如何将DataTable中的值转换为字符串数组

我有一个包含单行的数据表。我想将此DataTable值转换为字符串数组,以便我可以通过字符串数组索引访问该DataTable的列值比如我的DataTable是这样的|Name|Address|Age|-------------------------------|jim|USA|23|我想将该数据表中的值存储到我的字符串数组中,这样MyStringArray[1]就会给我值USA。提前致谢 最佳答案 非常简单:varstringArr=dataTable.Rows[0].ItemArray.Select(x=>x.ToString(

c# - 清除字符串数组

清除字符串数组最简单的方法是什么? 最佳答案 你试过了吗Array.Clear?string[]foo=...;Array.Clear(foo,0,foo.Length);请注意,这不会改变数组的大小——什么都不会改变。相反,它将每个元素设置为空。如果您需要可以实际改变大小的东西,请使用List相反:Listnames=newList{"Jon","Holly","Tom"};names.Clear();//Afterthis,nameswillbegenuinelyempty(Count==0)

C#排列数组列表?

我有一个ArrayList[]myList,我正在尝试创建一个包含数组中值的所有排列的列表。示例:(所有值都是字符串)myList[0]={"1","5","3","9"};myList[1]={"2","3"};myList[2]={"93"};myList的计数可以变化,因此它的长度是事先不知道的。我希望能够生成类似于以下所有排列的列表(但具有一些额外的格式)。12931393529353933293339392939393这是否说明了我要完成的目标?我似乎无法想出一个好的方法(如果有的话)。编辑:我不确定递归是否会干扰我以自己的方式格式化输出的愿望。抱歉,我之前没有提到我的格式是

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

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