Tag: arrays

C#,String的Split()方法

C#,String的Split()方法,如何将结果字符串[]放入ArrayList或Stack?

Array.Copy是否适用于多维数组?

这段代码工作正常: var newArray = new Rectangle[newHeight, newWidth]; for (int x = 0; x < newWidth; x++) for (int y = 0; y = width) || (y >= height) ? Rectangle.Empty : tiles[y, x]; 但我没有太多运气用Array.Copy取代它。 基本上,如果resize的数组较大,则只需在边缘添加空白矩形。 如果它小,那么它应该切断边缘。 这样做时: Array.Copy(tiles, newArray, newWidth * newHeight); 它弄乱了arrays,它的所有内容都变得混乱,并且不保留它们的原始索引。 也许我只是有一个脑力计或其他什么?

什么是线程安全(C#)? (字符串,数组,……?)

我对C#很新,所以请耐心等待。 我对线程安全有点困惑。 什么时候是线程安全的东西什么时候不安全? 从字段中读取 (只读取之前初始化的内容)总是线程安全吗? //EXAMPLE RSACryptoServiceProvider rsa = new RSACrytoServiceProvider(); rsa.FromXmlString(xmlString); //Is this thread safe if xml String is predifined //and this code can be called from multiple threads? 从数组或列表访问对象始终是线程安全的(如果您使用for循环进行枚举)? //EXAMPLE (a is local to thread, array and list are global) int a = 0; for(int i=0; i<10; i++) { a += array[i]; a […]

通过检查元素的条件将列表拆分为子列表

假设我有一个integeres数组,我想把它分成几个部分,我想用零作为何时破坏的条件。 像这样的东西: [1,2,3,0,4,5,0,6,7] => [[1,2,3,0], [4,5,0], [6,7]] 好吧,可以使用两个for循环轻松完成,但我想知道是否可以使用LINQ执行此操作。 有这样的问题[1] , [2] ,但与此相反,它们依赖于从列表外部提供的条件。 注意:我知道在一个post中提出多个问题是不礼貌的,但是如果有人熟悉函数式编程(因为在本质上,它确实是一个FP问题),我也希望看到他们的观点和这个问题的可能解决方案。

.NET C#unsafe / fixed不会固定直通数组元素吗?

我有一些并发故障的并发代码,我把问题减少到两个似乎相同的情况,但是一个失败而另一个没有。 我现在花了太多时间试图创建一个失败的最小的完整示例,但没有成功,所以我只是发布失败的行,以防任何人看到明显的问题。 Object lock = new Object(); struct MyValueType { readonly public int i1, i2; }; class Node { public MyValueType x; public int y; public Node z; }; volatile Node[] m_rg = new Node[300]; unsafe void Foo() { Node[] temp; while (true) { temp = m_rg; /* … */ Monitor.Enter(lock); if (temp == m_rg) […]

如何获得Int数组中最常见的值? (C#)

如何使用C#获取Int数组中最常见的值 例如:Array具有以下值:1,1,1,2 Ans应为1

笛卡尔积+ N x M动态arrays

我已经看了几个小时的解决方案,没有任何成功。 希望有人可以帮助我。 我有M个原始邮政编码的N项动态数组。 例如: 项目1:11001,54010,60621项目2:11001,60621项目3:60621 我想创建一个如下所示的新数组: 路线1:11001,11001,60621路线2:11001,60621,60621路线3:54010,11001,60621 等 – 直到6号公路。 建议? ———————-有没有办法在不使用Linq的情况下实现这一目标? VB.net和Linq不一起:)

为什么Array类没有直接暴露其索引器?

要回答的事情: 不要担心方差 ,而有问题的项目是Array而不是T[] 。 多维数组的类似情况是[ 这里 ] 也就是说,N-dims线性变换总是可行的。 因此,这个问题引起了我的注意,因为它已经为线性索引器实现了IList 。 题: 在我的代码中,我有以下声明: public static Array ToArray(this T source); 我的代码知道如何使souce呈现一个数组(在运行时)。 我试图让消费代码直接访问其索引器。 但如果没有“作为IList”,它就不可能做到。 返回object[]可能需要额外的转换/转换,这就是我要阻止做的事情。 我能做的是: public static IList ToArray(this T source); 但我认为名为ToArray的方法返回一个看起来很奇怪的IList 。 因此,我对此感到困惑: 在Array的声明中,有 object IList.this[int index]; 这样我们就可以 Array a; a=Array.CreateInstance(typeof(char), 1); (a as IList)[0]=’a’; 但我们做不到 a[0]=’a’; 除非它被宣布为 public object this[int index]; 我能看到的唯一区别是它需要我们通过实现它的接口IList显式地使用它的索引器,但为什么呢? 有好处吗? 或者是否存在暴露问题?

在C#Windows phone 7中随机播放字符串列表

我已经到处看看如何在C#中为Windows Phone 7随机播放/随机化一个字符串列表。我仍然是一个初学者,你可以这么说这可能是我的联盟,但我正在写一个简单的应用程序,这是它的基础。 我有一个字符串列表,我需要随机播放并输出到文本块。 我查了一些代码,但我知道我错了。 有什么建议?

XmlInclude:列表和数组

我有一个对象,它有变量作为object ,我想用XML序列化它。 为此,我添加了一些XmlInclude属性,以便管理可以使用的所有类型。 [Serializable] [XmlInclude(typeof(short[]))] [XmlInclude(typeof(ushort[]))] [XmlInclude(typeof(int[]))] [XmlInclude(typeof(uint[]))] [XmlInclude(typeof(ulong[]))] [XmlInclude(typeof(long[]))] [XmlInclude(typeof(byte[]))] [XmlInclude(typeof(decimal[]))] [XmlInclude(typeof(float[]))] [XmlInclude(typeof(double[]))] [XmlInclude(typeof(string[]))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(List))] [XmlInclude(typeof(MyObject))] [XmlInclude(typeof(TimeSpan))] [XmlInclude(typeof(OtherObject))] [XmlInclude(typeof(MySubObject1))] [XmlInclude(typeof(MySubObject2))] [XmlRoot(ElementName = “mc”)] public class MyClass: IComparable { [XmlElement(“fm”)] public object FirstMember; [XmlElement(“sm”)] public object SecondMember; [XmlElement(“tm”)] public object ThirdMember; } 我的问题是数组和列表声明不共存。 奇怪的是,如果首先放置数组属性,则数组成员被正确序列化,但不是列表成员。 反之亦然。 […]