Tag: 数组

移动数组中的元素c#

我有这个非常简单的数组,我希望能够移动一些项目。在c#中是否有任何内置工具来执行此操作? 如果没有,你有任何建议,如何做到这一点。 在例子中 var smallArray = new string[4]; smallArray[0] = “a”; smallArray[1] = “b”; smallArray[2] = “c”; smallArray[3] = “d”; 并且让我说我想(以编程方式)移动索引2和0,创建 smallArray[0] = “c”; smallArray[1] = “a”; smallArray[2] = “b”; smallArray[3] = “d”; 谢谢。

ToArray()是否针对数组进行了优化?

ReSharper建议将IEnumerable枚举到列表或数组中,因为我有“可能的多个IEnumerable枚举” 。 建议的自动代码重新分解有一些内置的优化,以便在调用ToArray()之前查看IEnumerable是否已经是一个数组。 var list = source as T[] ?? source.ToArray(); 这种优化是不是已经内置了原始的LINQ方法? 如果没有,那么不这样做的动机是什么?

如何创建二维动态长度数组?

我想创建一个二维数组,而不知道第一个维度的大小。 例如,当我创建一个数组时,我有一个未知的行数。 每行代表一个帐户。 每行退出4列:ID,名称,用户,密码 我尝试使用锯齿状arrays,但不可能: int[][] jaggedArray = new int[][3]; 我也寻找了ArrayList ,使用clases实现了一些关于Generics的实现。 我正在寻找一种可以轻松操作数据的解决方案: 添加到列表,选择,输入元素 使用数据库查询中的元素 在其他function中用作参数 因为我是.NET(C#)的新手,请为我提供代码解决方案,而不是通用(寻找)解决方案

C#将char和char数组分配给字符串?

char character = ‘c’; string str = null; str = character.ToString();//this is ok char[] arrayChar = { ‘a’, ‘b’, ‘c’, ‘d’ }; string str2 = null; str2 = string.Copy(arrayChar.ToString());//this is not ok str2 = arrayChar.ToString();//this is not ok. 我正在尝试将char数组转换为字符串,但最后两次尝试不起作用。 我找到的其他来源,他们必须创建新的字符串类型,但我不知道为什么。 有人能给我一点解释,谢谢。

为什么C#数组是协变的,它带来了什么好处?

我无法理解为什么C#中的数组是协变的,以及这种协方差带来的好处。 考虑以下简单的代码示例: object[] myArray = new string[1]; myArray[0] = 1; 这段代码可以正常编译,但是会毫不客气地在运行时爆炸。 如果我尝试使用generics尝试同样的事情,编译器会抱怨我,我会在早期意识到我的愚蠢,所以我的问题是:为什么C#编译器允许这种与数组的协方差,而且,什么是潜在的好处?

如何用同一个索引对两个数组进行排序?

我有2个arrays。 我想用相同的索引号对它们进行排序。 例如,我有这些: int[] a = {120, 60, 50, 40, 30, 20}; int[] b = {12, 29, 37, 85, 63, 11}; Array.Sort(b); // Now, b is -> b = {11, 12, 29, 37, 63, 85} 我想按b的索引排序 – > a = {20, 120, 60, 50, 30, 40} 如果我还有字符串数组c -> c = {“b”, “u”, “r”, “s”, “a”, […]

C#string 到int

有没有办法将字符串数组转换为int数组,就像在C#中将字符串解析为int一样简单。 int a = int.Parse(”123”); int[] a = int.Parse(”123,456”.Split(‘,’)); // this don’t work. 我尝试使用int类的扩展方法自己添加这个function,但它们不会变成静态的。 关于如何做到这一点快速而美观的任何想法?

使用一系列数字初始化一个int数组

我想初始化一个int数组并用一系列数字填充它: return new int[].Populate(30,50); 那么我会有一个30,31,32,33 …… 50的arrays

比较C#中的两个数组

bool hasDuplicate = false; int[] a = new int[] {1, 2, 3, 4}; int[] b = new int[] { 5, 6, 1, 2, 7, 8 }; 我需要将数组A的所有元素与数组B的元素进行比较,如果B中有重复元素,则在TRUE上设置hasDuplicate。

IEnumerable vs T

我只是意识到,在将T[]暴露给我的视图时,我可能总是错了,而不是IEnumerable 。 通常,对于这种代码: foreach (var item in items) {} item应该是T[]还是IEnumerable ? 如果我需要得到项目的计数,那么Array.Count会比IEnumerable.Count()更快吗?