Tag: 数组

将数组拆分为2个数组C#

编辑:我尝试过Take / Skip方法,但是我收到以下错误: Cannot implicitly convert type ‘System.Collections.Generic.IEnumerable’ to ‘string[]’. An explicit conversion exists (are you missing a cast?) 我不知道我做错了什么因为我复制了赛义德的代码。 我有一个字符串数组(包含20到300个项目),我想从第一个中间分割成2个独立的数组。 我知道如何使用for循环来做到这一点,但我想知道是否有更快/更好的方法。 我还需要能够正确地分割数组,即使它有奇数个项目,例如: string[] words = {“apple”, “orange”, “banana”, “pear”, “lemon”}; string[] firstarray, secondarray; SplitArray(words, out firstarray, out secondarray); // Or some other function // firstarray has the first 3 of the items from words, […]

为什么我不能使用与数组声明分开的数组初始化语法?

我可以用整数做到这一点: int a; a = 5; 但我不能用整数数组做到这一点: int[] a; a = { 1, 2, 3, 4, 5 }; 为什么不? 为了澄清,我不是在寻找正确的语法。 我可以抬头看。 我知道这有效: int[] a = { 1, 2, 3, 4, 5 }; 这相当于: int a = 5; 我想要了解的是,为什么代码失败的数组? 代码未能被识别为有效的原因是什么。

将类转换为数组

我有一个DisplayedData类…… public class DisplayedData { private int _key; private String _username; private String _fullName; private string _activated; private string _suspended; public int key { get { return _key; } set { _key = value; } } public string username { get { return _username; } set { _username = value; } } public string fullname […]

声明一个长的常量字节数组

我有一个长字节数组,我需要在我的C#代码中声明。 我做这样的事情: public static class Definitions { public const byte[] gLongByteArray = new byte[] { 1, 2, 3, //and so on }; } 但我得到一个错误,const数组可能只用空值初始化。 如果我将const更改为static它会编译,但我的问题是 – 当我将其声明为public static byte[] gLongByteArray ,每次我的应用程序加载时都不会初始化它,对吧? 在这种情况下, gLongByteArray变量将简单地指向在已加载到内存中的已编译exe / dll文件中定义的数组。 我问的原因是因为这个数组很长,我不希望我的程序在每次应用程序启动时浪费CPU周期加载它,或者更糟糕的是,这个类被引用…

Enumerable.Last ()和C#数组

说我有一个简单的数组: double[] myDoubleArray = new double[] { 0, 1, 2, 3, 4, 5 }; 这是性能如何: double last = myDoubleArray.Last(); 这个? double last = myDoubleArray[myDoubleArray.Length – 1]; 即使可以进行上述优化,Last Last()还会枚举整个数组吗? 如果我传递了一些其他IEnumerable(比如一个已经产生的),Last() 必须枚举序列。 我更喜欢使用Last(),因为代码看起来更干净,但如果它枚举序列我就不会做出牺牲。

将IEnumerable 转换为int

如何在c#中将IEnumerable变量转换为变量中的int []?

C#Json – to – Array

所以我有以下json代码: { “users”:[ { “username”:”Deeside”, “user_id”:750038708, “recent_gifts”:[ ], “class_id”:2, “bonus”:{ “spy_defense”:27000, “plunder”:172793313, “attack”:230400, “defense”:153600, “spy_attack”:27000 }, “superpower_expire_date”:null, “avatar_id”:2, “avatar_type”:1, “cost”:38602761523 }, { “username”:”mac78″, “user_id”:515216476, “recent_gifts”:[ ], “class_id”:2, “bonus”:{ “spy_defense”:0, “plunder”:172793313, “attack”:505800, “defense”:336600, “spy_attack”:0 }, “superpower_expire_date”:null, “avatar_id”:2, “avatar_type”:2, “cost”:38602761523 }, { “username”:”divie”, “user_id”:750047259, “recent_gifts”:[ ], “class_id”:3, “bonus”:{ “spy_defense”:62100, “plunder”:172793313, “attack”:161520, “defense”:108720, “spy_attack”:54000 }, “superpower_expire_date”:null, “avatar_id”:3, “avatar_type”:1, […]

与LINQ相比,为什么Array.Sort()这么慢?

我做了快速测试应用程序,将LINQ排序与我的自定义对象上的Array.Sort进行比较。 Array.Sort似乎非常慢! 我创建了这样的自定义类: class Person : IComparable { public int Age { get; set; } public string Name { get; set; } public int CompareTo(Person obj) { return this.Age.CompareTo(obj.Age); } public Person() { } } 然后我在main()中做了我的测试人员: string name = “Mr. Tomek”; Random r = new Random(); int size = 10000000; DateTime start, end; Person[] people1 […]

数组创建是否在每个foreach循环中发生?

我发现自己这样做: string states = “this,that,theother”; foreach(string state in states.Split(‘,’)) { } 我想知道; states字符串是否在每个foreach循环中被拆分? 这个例子在c#中,但其他编程语言的行为有何不同 ? PHP和JavaScript是否在每个foreach循环上拆分?

如何在C#中将数组划分为单独的数组?

我想编写一个方法,将一个字符串数组分成一个n个独立的数组,每个数组大约是我指定的大小。 例如,如果我要分割的数组有23个元素,那么如果我指定7作为元素的近似数量: 1st array with 8 elements 2nd array with 8 elements 3rd array with 7 elements 另一个例子是如果有100个元素,我为每个数组指定18个元素,那么: 1st array 20 2nd array 20 3rd array 20 4th array 20 5th array 20 到目前为止,我知道该函数需要返回一个字符串数组列表,但我不知道该怎么办: private List divStrings(int ExpectedStringsPerArray, string[] AllStrings) { // … } 数组的数量将是 Math.Floor(AllStrings.Count()/ExpectedStringsPerArray) 如何在C#中将数组划分为单独的数组?