草庐IT

two_dimensional_array

全部标签

c# - 无法使用 C# 将带 [] 的索引应用于类型为 'System.Array' 的表达式

我正在尝试使用包含字符串数组的列表,但是当我尝试使用方括号访问数组元素时,我收到错误消息。我的数组列表是这样声明的:publicListalphabet=newList();我还有一个像这样声明的字符串数组:string[]encrypted=newstring[text.Length];我可以访问一个数组,但不能访问另一个数组stringa=alphabet[1][2];//thisgivesmeanerrorstringb=encrypted[1];//thisworksfine 最佳答案 错误非常简单;您不能在Array上使用

c# - Array.Length 与 Array.Count

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:countvslengthvssizeinacollection在.NET中,几乎所有集合都有.Count属性。有时我想知道是否直接将它放在Array上,而不是通过ICollection会更好。这只是你在脑海中为数组做一个异常(exception)而已。那么在这种情况下是“更正确”还是“更统一”更好?

c# - .NET 的 Array.Sort() 方法使用哪种排序算法?

.NET的Array.Sort()方法使用了哪种排序算法? 最佳答案 Array.Sort()根据输入的大小选择三种排序算法之一:如果大小小于16个元素,则使用插入排序算法。如果大小超过2*log^N,其中N是输入数组的范围,它使用堆排序算法。否则,它使用快速排序算法来源:Array.Sort(Array)MethodonMSDN. 关于c#-.NET的Array.Sort()方法使用哪种排序算法?,我们在StackOverflow上找到一个类似的问题: ht

c# - 如何在 C# 中从 System.Array 转换为 object[]

我有一个COM函数需要object[]作为参数:foo(object[]values)我想将一些enum字段传递给它,所以我使用以下内容:object[]fields=(object[])Enum.GetValues(typeof(SomeEnumType));但是,当我尝试将fields传递给foo(...)时,即[foo(fields)]我得到一个错误:"Unabletocastobjectoftype`SomeEnumType[]'totype'system.Object[]'.谁能告诉我我做错了什么? 最佳答案 如异常所述,

C# 循环 : iterating through an array

如果我有如下循环:foreach(stringpassinnewstring[]{"pass1","pass2","pass3"}){x=pass;//etc}匿名字符串数组是最初创建一次,还是每次传递都重新创建一次?我相信前者,但同事们确信这是一个等待发生的错误,因为他们说foreach循环的每次迭代都会导致创建一个新的字符串数组。VS反汇编代码表明我是对的,但我想确定。我们关注这个的原因是试图理解一个神秘的错误,该错误报告在迭代时集合已被更改。 最佳答案 根据EricLippertblog和specification,forea

c# - DataTable的Row's First Column to String Array

我有一个数据表。我想获取每一行的第一列值并附加到一个字符串数组。我不想对每一行使用foreach循环并添加到字符串数组。我试过了,但在某个时候卡住了DataRow[]dr=newDataRow[dtCampaignSubscriberLists.Rows.Count];dtCampaignSubscriberLists.Rows.CopyTo(dr,0);string[]array=Array.ConvertAll(dr,newConverter(????));谢谢 最佳答案 string[]array=yourTable.AsEn

c# - 自定义验证属性 : Comparing two properties in the same model

有没有一种方法可以在ASP.NETCore中创建自定义属性,以使用ValidationAttribute验证一个日期属性是否小于模型中的其他日期属性。假设我有这个:publicclassMyViewModel{[Required][CompareDates]publicDateTimeStartDate{get;set;}[Required]publicDateTimeEndDate{get;set;}=DateTime.Parse("3000-01-01");}我正在尝试使用这样的东西:publicclassCompareDates:ValidationAttribute{publi

C# 和 .NET : How to serialize a structure into a byte[] array, 使用 BinaryWriter?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion如何使用BinaryWriter将相当复杂的结构序列化为byte[]数组?更新:为此,每个结构(和子结构?)都必须用[Serializable]属性修饰。我不需要实现ISerializable接口(interface),因为它旨在让对象控制自己的序列化。

c# - 为什么 System.Array 的大多数方法都是静态的?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我想这更像是一个框架设计问题。我最近想知道为什么System.Array中的大多数方法都是静态的。我的直觉react总是使用例如Array实例上的IndexOf(object),而不是System.Array.IndexOf(array,object)。决定是否将方法设为静态是否有一个主要原则?我发现了这个问题:WhenisitbesttouseStati

c# - "Two-level"委托(delegate)的泛型方法参数推断

考虑以下示例:classTest{publicvoidFun(Funcf){}publicstringFun2(stringtest){return"";}publicTest(){Fun(Fun2);}}这编译得很好。我想知道为什么我不能删除通用参数?我收到无法从用法中推断出的错误。我知道这样的推断对编译器来说可能具有挑战性,但它似乎是可行的。我想要对此行为的解释。编辑回答JonHanna的回答:那为什么这样行得通呢?classTest{publicvoidFun(T1a,Funcf){}publicstringFun2(inttest){returntest.ToString();