本文实例讲述了C#中数组初始化与数组元素复制的方法。分享给大家供大家参考。具体如下:
下面的代码演示如何创建和初始化数组,以及C#中如何将数组元素从一个复制到另外一个的方法。
using System; public class ArraySample { public static void Main() { // 创建和初始化数组 int[] intArr = new int[5] {1,2,3,4,5}; Object[] objArr = new Object[5] {10,20,30,40,50}; foreach (int i in intArr) { Console.Write(i); Console.Write(","); } Console.WriteLine(); foreach (Object i in objArr ) { Console.Write (i); Console.Write (","); } Console.WriteLine(); // 复制 intArr的前三个元素到 objArr Array.Copy(intArr, objArr,3); Console.WriteLine("After coping" ); foreach (int i in intArr) { Console.Write(i); Console.Write(" , "); } Console.WriteLine( ); foreach (Object i in objArr) { Console.Write(i); Console.Write(" ,"); } Console.WriteLine( ); } }
代码运行输出结果如下:
1,2,3,4,5, 10,20,30,40,50, After coping 1 , 2 , 3 , 4 , 5 , 1 ,2 ,3 ,40 ,50 ,
希望本文所述对大家的C#程序设计有所帮助。
我在中用C创建了一个包含10个元素的数组,并仅为其中一些元素声明了值。当打印出数组时,我注意到其中一个元素(保持不变)没有初始化为零。相反,每次都将其初始化为不同的大值(即)。然后,我注释掉了所有代码,只保留了最初声明的数组。 运行代码时,数组的前8个元素被初始化为零,数组中的第9个元素被初始化为一个大值(如),该值每次都会更改,最后一个元素被一致地初始化为相同的非零数字。 有人知道为什么会这样吗
本文向大家介绍C++ 数组初始化,包括了C++ 数组初始化的使用技巧和注意事项,需要的朋友参考一下 示例 数组只是特定类型变量的顺序存储位置的块。数组的分配方式与普通变量相同,但是在其名称后附加方括号,方括号[]中包含适合数组内存的元素数。 下面的数组示例使用typ int,变量名arrayOfInts和[5]数组可以容纳的元素数: 可以像这样同时声明和初始化数组 通过列出其所有成员来初始化数组时
在C语言中,如果像这样初始化数组: 然后,数组中所有未显式初始化的元素将隐式初始化为零。 但是,如果我像这样初始化数组: 输出: 我不明白,为什么打印而不是?这是未定义的行为吗? 注:这个问题是在一次采访中提出的。
问题内容: 我知道当我初始化一个char数组时: 要么 为什么不喜欢 初始化数组: 为什么它们不同?它是Java哲学的本质之一还是其背后的某些原因? 问题答案: 如果您曾经使用过 C ,那么答案就非常简单。在 C语言中 ,创建数组的方式是在堆栈上分配一个足以容纳元素数量的静态内存长度,并使用指针指向第一个元素-或堆上动态内存长度,然后用指针指向第一个元素。 在 C ++中 ,第二个版本已更改为
问题内容: 根据JLS,数组应在初始化后立即用零填充。但是,我面临的情况并非如此。这种行为首先在JDK 7u4中发生,并且在以后的所有更新中也发生(我使用64位实现)。以下代码引发异常: 该异常在JVM执行代码块的编译之后发生,并且不会出现带有标志的异常。此外,该语句(与该代码中的所有其他语句一样)是必需的,并且如果不存在该异常,则不会发生。显然,此可能的错误与JVM优化有关。对于这种行为有什么想
根据 JLS, 数组应由零填充。但是,我面临的情况并非如此。这种行为首先发生在JDK 7u4中,也发生在所有以后的更新中(我使用64位实现)。下面的代码引发异常: 异常发生在JVM执行代码块编译之后,并且不会以标志出现。此外,语句(与此代码中的所有其他语句一样)是必要的,如果不存在异常,则不会发生。很明显,这个可能的错误与一些JVM优化有关。对于这种行为的原因有什么想法吗? 更新:< br >我在