精华内容
下载资源
问答
  • C#数组初始化的几种方式
    2020-12-23 15:46:33

    最怕你一生碌碌无为,还安慰自己平凡可贵

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace OneArray

    {

    class Program

    {

    static void Main(string[] args)

    {

    int[] arrOld; //数组初始化的几种方式,注意赋值利用 {} 实现。

    arrOld=new int[5]{ 30, 32, 40, 25, 35 };

    int[] arrOld1 = {30,20,212 };

    int[] arrOld2 = new int[4] { 1, 2, 3, 4 };

    int[] testArray=new int[10];

    for (int i = 0; i < 10; i++)

    {

    testArray[i] = i * 3; //对数组赋值前需要初始化数组长度

    }

    Console.WriteLine("员工年龄:");

    foreach (int n in arrOld) //使用foreach语句循环遍历一维数组中的元素

    {

    Console.WriteLine("{0}", n + "岁 "); //输出数组中的元素

    }

    Console.ReadLine();

    }

    }

    }

    试着修改一个数组的小demo,发现竟然改不出来,对语法不熟悉。编程还是要踏踏实实敲代码,切记眼高手低,光看书是不行的。

    更多相关内容
  • C#数组初始化

    千次阅读 2020-12-23 15:46:21
    C#数组初始化是在声明数组时将初始值放在大括号({})之内。如果没有指定初始值,则数组成员将自动初始化为该数组类型的默认初始值。请阅读数组的属性。如果将数组声明为某类型的字段,则当实例化该类型时它将被设置...

    C#的数组初始化是在声明数组时将初始值放在大括号({})之内。如果没有指定初始值,则数组成员将自动初始化为该数组类型的默认初始值。请阅读数组的属性。如果将数组声明为某类型的字段,则当实例化该类型时它将被设置为默认值null。

    一、一维数组的初始化

    1. 在声明数组时将其初始化。如:

    int[] array = new int[6]{1,2,3,4,5,6};

    string[] stringArray = new string[3]{"string1", "string2", "string3"};2. 可以省略数组的大小。如:

    int[] array = new int[]{1,2,3,4,5,6};

    string[] stringArray = new string[]{"string1", "string2", "string3"};3. 如果提供了初始值设定项,还可以省略new运算符。如:

    int[] array = {1,2,3,4,5,6};

    string[] stringArray = {"string1", "string2", "string3"};4. 声明一个数组变量但不将其初始化,等到将数组分配给此变量时必须使用new运算符。如:

    int[] array;

    array = new int[]{1,2,3,4,5};

    string[] stringArray;

    stringArray = new string[]{"string1", "string2", "string3"};二、多维数组的初始化

    1. 声明数组时将其初始化。如:

    int[,] array2D = new int[,]{{1,2},{3,4},{5,6}};     // 二维数组

    int[,,] array3D = new int[,,]{{{1,2,3}},{{4,5,6}}}; // 三维数组对于二维数组array2D来说,这是一个3行2列的二维数组。3行分别是{1,2}、{3,4}和{5,6}这三行,每一行都用大括号{}括起来,第1行{1,2}用0表示,第2行{3,4}用1表示,第3行{5,6}用2表示。

    每一行大括号内表示的是列,对于array2D来说,每一行都是2列,用0、1表示。那么这个数组就是3行2列。

    那么array2D的第3行2列的元素就是array2D[2][1]=6。

    二维数组就是一个二维的矩阵,只有x,y两个维度,好像一个平面,用strArr[x,y]可以定位到矩阵中的任何一个元素。遍历二维的矩阵一般需要两层循环。

    在这里,再举几个三维数组的例子:

    int[,,] array3D = new int[,,]{

    {{1,2,3,4},{5,6,7,8},{9,10,11,12}},

    {{13,14,15,16},{17,18,19,20},{21,22,23,24}}

    };

    相当于int[2,3,4]。

    ?第一维是4:指的是最里层大括号({})内的4个元素。分别是1,2,3,4或者5,,6,7,8。

    ?第二维是3:指的是第二层内三个大括号部分。分别是{1,2,3,4}、{5,6,7,8}和{9,10,11,12}部分。

    ?第三维是2:指的是第一层内两个大括号部分。分别是{{1,2,3,4},{5,6,7,8},{9,10,11,12}}和{{13,14,15,16},{17,18,19,20},{21,22,23,24}}。

    int[,,] array3D = new int[,,]{{{1,2,3}},{{4,5,6}},{{7,8,9}}};相当于int[3,1,3]。

    int[,,] array3D = new int[,,]{{{1},{2},{3}},{{4},{5},{6}},{{7},{8},{9}}};相当于int[3,3,1]。

    int[,,] array3D = new int[,,]{{{1,2,3},{4,5,6},{7,8,9}}};相当于int[1,3,3]。

    三维数组有三个维度,好像一个立方体,需要用strArr[x,y,z]才能定位到矩阵中的元素,因此,如果需要遍历,必须使用三个嵌套的循环。

    一个简单的覆盖三维矩阵的例子是:

    for(int i=0; i

    {

    for(int j=0; j

    {

    for(int k=0; k

    {

    Console.WriteLine(strArr[i, j, k]);

    }

    }

    }

    2. 初始化数组时不需要指定级别。如:

    int[,] array2D = {{1,2},{3,4},{5,6}};3. 声明一个数组变量但不将其初始化,等到将数组分配给此变量时必须使用new运算符。如:

    int[,] array2D;

    array2D = new int[,]{{1,2},{3,4},{5,6}};4. 将数组变量初始化为默认值(交错数组除外)。如:

    int[,] array = new int[2,3];5. 可以给数组的元素赋值。如:

    array[3,4] = 10;

    三、交错数组的初始化

    1. 声明一个一维数组,数组中的5个元素都是一维整数数组:

    int[][] jiaoArray = new int[5][];初始化jiaoArray数组的元素:

    jiaoArray[0] = new int[10];

    jiaoArray[1] = new int[9];

    jiaoArray[2] = new int[8];

    jiaoArray[3] = new int[7];

    jiaoArray[4] = new int[6];元素初始化以后就可以使用了。

    2. 使用初始值设定项将值填充给数组元素,此时不需要设置数组大小。如:

    jiaoArray[0] = new int[]{1,2,3,4,5}; // 初始化数组第一个元素:5个整数组成的数组

    jiaoArray[1] = new int[]{2,4,6,8};   // 初始化数组第二个元素:4个整数组成的数组

    jiaoArray[2] = new int[]{1,3,5};     // 初始化数组第三个元素:3个整数组成的数组

    3. 声明数组时进行初始化。如:

    int[][] jiaoArray = new int[][]

    {

    new int[]{1,2,3,4,5},

    new int[]{2,4,6,8},

    new int[]{1,3,5}

    };

    4. 可以使用下面的格式:

    int[][] jiaoArray =

    {

    new int[]{1,2,3,4,5},

    new int[]{2,4,6,8},

    new int[]{1,3,5}

    };

    5. 交错数组的元素是引用类型,初始化为null。我们可以访问个别数组元素:

    jiaoArray[0][1] = 5;  // 将5赋给第1个数组[0]的第2个元素[1]

    jiaoArray[3][2] = 7;  // 将7赋给第4个数组[3]的第3个元素[2]

    6. 可以混合使用交错数组和多维数组。下面声明和初始化一个一维交错数组,该数组包含大小不同的二维数组元素:

    int[][,] jiaoArray = new int[3][,]

    {

    new int[,]{{1,2},{3,4}},

    new int[,]{{11,22},{33,44},{55,66}},

    new int[,]{{111,222},{333,444},{555,666}}

    };

    我们可以访问个别元素,下面的例子显示第一个数组的元素[1,0]的值3:

    Console.WriteLine("{0}",jiaoArray[0][1,0]);Length方法返回包含在交错数组中的数组的个数。

    Console.WriteLine(jiaoArray.Length);  // 返回值3

    四、示例

    示例一

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace Test

    {

    class Program

    {

    static void Main(string[] args)

    {

    // C#交错数组的初始化-www.baike369.com

    // 交错数组:声明一个2个元素的一维数组,数组中的元素都是一维整数数组

    int[][] array = new int[2][];

    array[0] = new int[4] { 1, 2, 3, 4 }; // 初始化数组的元素

    array[1] = new int[5] { 0, 2, 4, 6, 8 }; // 初始化数组的元素

    for (int i = 0; i < array.Length; i++)

    {

    Console.Write("元素({0}):", i);// 显示交错数组的元素

    //显示交错数组中的每一个元素的值,这个值是一个一维整数数组

    for (int j = 0; j < array[i].Length; j++)

    {

    Console.Write("{0}{1}", array[i][j],

    j==(array[i].Length-1)?"":" ");

    }

    Console.WriteLine(""); // 将每一个交错数组的元素换行

    }

    Console.ReadLine();

    }

    }

    }

    运行结果:

    元素(0):1 2 3 4

    元素(1):0 2 4 6 8其中

    j==(array[i].Length-1)?"":" "将交错数组中的元素的值,即一维整数数组的元素之间添加空格。请阅读C#条件运算符(?:)。

    示例二

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    namespace Test

    {

    class Program

    {

    static void Main(string[] args)

    {

    // 二维数组

    int[,] array = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };

    int array1 = array[3, 1];

    // 三维数组

    int[, ,] array3D = new int[,,]{

    {{1,2,3,4},{5,6,7,8},{9,10,11,12}},

    {{13,14,15,16},{17,18,19,20},{21,22,23,24}}

    };

    int array2 = array3D[1, 2, 3];

    Console.WriteLine("array[3,1](二维数组):{0}", array1);

    Console.WriteLine("array3D[1,2,3](三维数组):{0}", array2);

    Console.ReadLine();

    }

    }

    }

    运行结果:

    array[3,1](二维数组):8

    array3D[1,2,3](三维数组):24

    展开全文
  • C#声明数组并初始化,有三种方式

    千次阅读 2021-02-06 14:43:31
    对于一维数组:using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls....

    对于一维数组:

    using System;

    using System.Data;

    using System.Configuration;

    using System.Web;

    using System.Web.Security;

    using System.Web.UI;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Web.UI.HtmlControls;

    public partial class _Default : System.Web.UI.Page

    {

    protected void Page_Load(object sender, EventArgs e)

    {

    string[] arrayA = { "Shirdrn", "Hamtty", "Saxery" };        Response.Write("第一种声明数组并初始化的方法:
    ");

    for (int i = 0; i < arrayA.Length;i++ )

    {

    string arr = arrayA[i];

    Response.Write("arrayA[" + i + "] = " + arr + "
    ");

    }

    string[] arrayB ;

    arrayB = new string[3]{ "shirdrn", "Hamtty", "Saxery" };        Response.Write("第二种声明数组并初始化的方法:
    ");

    for (int i = 0; i < arrayB.Length; i++)

    {

    string arr = arrayB[i];

    Response.Write("arrayB[" + i + "] = " + arr + "
    ");

    }

    string[] arrayC = new string[3];

    arrayC[0] = "Shirdrn";

    arrayC[1] = "Hamtty";

    arrayC[2] = "Saxery";        Response.Write("第三种声明数组并初始化的方法:
    ");

    for (int i = 0; i < arrayC.Length; i++)

    {

    string arr = arrayC[i];

    Response.Write("arrayC["+i+"] = "+arr + "
    ");

    }

    }

    }

    对于多维数组(以二维数组为例):

    using System;

    using System.Data;

    using System.Configuration;

    using System.Web;

    using System.Web.Security;

    using System.Web.UI;

    using System.Web.UI.WebControls;

    using System.Web.UI.WebControls.WebParts;

    using System.Web.UI.HtmlControls;

    public partial class _Default : System.Web.UI.Page

    {

    protected void Page_Load(object sender, EventArgs e)

    {

    string[,] multiArrayA = { { "Shirdrn", "Hamtty", "Tuuty" }, { "New York", "Beijing", "Shanghai" } };        Response.Write("第一种声明数组并初始化的方法:
    ");

    for (int i = 0; i < multiArrayA.Rank; i++)

    {

    for (int j = 0; j <= multiArrayA.GetUpperBound(multiArrayA.Rank-1);j++ )

    {

    string arr = multiArrayA[i,j];

    Response.Write("multiArrayA[" + i + "]["+j+"] = " + arr + "
    ");

    }

    }

    string[,] multiArrayB = new string[2,3]{ { "Shirdrn", "Hamtty", "Tuuty" }, { "New York", "Beijing", "Shanghai" } };        Response.Write("第二种声明数组并初始化的方法:
    ");

    for (int i = 0; i < multiArrayB.Rank; i++)

    {

    for (int j = 0; j <= multiArrayB.GetUpperBound(multiArrayB.Rank - 1); j++)

    {

    string arr = multiArrayA[i, j];

    Response.Write("multiArrayB[" + i + "][" + j + "] = " + arr + "
    ");

    }

    }

    string[,] multiArrayC = new string[2, 3];

    multiArrayC[0,0] = "Shirdrn";

    multiArrayC[0,1] = "Hamtty";

    multiArrayC[0,2] = "Tuuty";

    multiArrayC[1,0] = "New York";

    multiArrayC[1,1] = "Beijing";

    multiArrayC[1,2] = "Shanghai";        Response.Write("第二种声明数组并初始化的方法:
    ");

    for (int i = 0; i < multiArrayC.Rank; i++)

    {

    for (int j = 0; j <= multiArrayC.GetUpperBound(multiArrayC.Rank - 1); j++)

    {

    string arr = multiArrayA[i, j];

    Response.Write("multiArrayC[" + i + "][" + j + "] = " + arr + "
    ");

    }

    }

    }

    }

    本内容转载《且行且思》博客

    展开全文
  • 结构数组该怎么定义和赋初值??题目是:添加一个窗体form,在学生结构数组存放10名学生的记录,然后根据用户指定的学号显示相应的学生记录。其运行界面如下图,这里是从组合框中选择2时,在学生记录分组框中显示该...

    结构数组该怎么定义和赋初值??

    题目是:添加一个窗体form,在学生结构数组存放10名学生的记录,然后根据用户指定的学号显示相应的学生记录。其运行界面如下图,这里是从组合框中选择2时,在学生记录分组框中显示该学号的记录,如下图所示

    我现在只能写出下面的部分代码的程度,该怎么改成结构数组的形式呢??

    struct Student

    {

    public string Number;

    public string name;

    public string sex;

    public string classNum;

    public string birth;

    };

    private void Form1_Load(object sender, EventArgs e)

    {

    }

    private void button1_Click(object sender, EventArgs e)

    {

    Student[] stu=new Student[5];

    Student stu1;

    stu1.Number = "0905606201";

    stu1.name = "张三";

    stu1.sex = "男";

    stu1.classNum = "201";

    stu1.birth = "1990-11-11";

    Student stu2;

    stu2.Number = "0905606202";

    stu2.name = "李四";

    stu2.sex = "男";

    stu2.classNum = "202";

    stu2.birth = "1991-11-11";

    if(comboBox1.Text=="1")

    {

    textBox1.Text = stu1.Number;

    textBox2.Text = stu1.name;

    textBox3.Text = stu1.sex;

    textBox4.Text = stu1.classNum;

    textBox5.Text = stu1.birth;

    }

    展开全文
  • } memset函数一般只用于赋初值为0或者-1 #include #include #include #include #include #include #include typedef long long ll; using namespace std; #define INF 1e9+7 int main() { int a[100]; memset(a,-1,...
  • c#数组赋值方法

    千次阅读 2021-01-14 01:18:33
    C#数组复制有多种方法数组间的复制,int[] pins = {9,3,4,9};int [] alias = pins;这里出了错误,也是错误的根源,以上代码并没有出错,但是根本不是复制,因为pins和alias都是引用,存在于堆栈中,而数据9,3,4,3...
  • C#语言中的字符串数组赋初值

    万次阅读 2007-09-26 11:05:00
    1,一维数组 变量类型[] 数组名 = new 变量类型[元素个数]{元素0,元素1,元素2...}//元素个数必须是整数或者整数常量,而且必须与后面的元素列值个数相同,否则出错。元素个数的new声明和后面的元素列值可以只选一...
  • c语言数组的定义及赋值

    千次阅读 2021-02-06 14:43:33
    一维数组的定义方式如下:类型说明符 数组名[常量表达式];例如:int a[5];它表示定义了一个整型数组数组名为 a,定义的数组称为数组 a。此时数组 a 中有 5 个元素,每个元素都是 int 型变量,而且它们在内存中的...
  • 1. 数组的声明和赋值方式int[] myArray;int[] myArray = {1, 2, 3, 4};int[] myArray = new int[4] {1, 2, 3, 4};2. 多维数组的声明int[,] myArray = new int[2, 3];int[,] myArray = {{1, 2, 3},{1, 2, 3}};获取...
  • 给基本类型和String 数组赋初值

    千次阅读 2008-10-18 21:42:43
    基本数据类型数组直接赋值 如int [] arr = new int[3]; arr[0]=1; arr[1]=2; arr[2]=3; 也可以初始化int [] arr={1,2,3}; 引用数据类型 String [] strArr = new String[3]; strArr[0]=new String...
  • 基本数据类型数组直接赋值 如int [] arr = new int[3]; arr[0]=1; arr[1]=2; arr[2]=3; 也可以初始化int [] arr={1,2,3}; 引用数据类型 String [] strArr = new String[3]; strArr[0]=new String(&...
  • c语言给数组赋值的3种形式在C语言中,对数组进行赋值的三种形式1、通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值#include int main(){int i;int a[10] = {0};for(i=0;i<10;i++){scanf("%d",&a[i...
  • C#数组和Array类

    千次阅读 2019-10-07 10:43:56
    本文主要介绍C#中的简单数组,多维数组,锯齿数组以及Array类。
  • C#数组详解

    2020-08-15 11:09:02
    //在 C# 中,将方括号放在标识符后是不合法的语法。 int[] table; // not int table[]; //另一细节是,数组的大小不是其类型的一部分,这使得可以声明一个数组并向它分配 int 对象的任意数组,而不管数组长度如何...
  • C# 数组(Array)

    2021-09-16 20:42:07
    定义以及细节: 数组是一个存储相同类型元素的固定大小的顺序集合。 int [ ] intArray;... C# 支持交错数组,即数组数组。 传递数组给函数 您可以通过指定不带索引的数组名称来给函数传递一个指向...
  • C语言中对结构体赋初值

    万次阅读 2015-11-05 13:07:27
    C 语言中结构体的赋初值,可以对指定元素赋值,不必按照顺序,前提是通过 "." 来操作,在 c-free 5.0版本下验证通过。#include typedef struct{ int a; char b; float c; }structTest1; int main(int argc, char...
  • C#数组简述

    2021-11-08 14:57:38
    一维数组: 一维数组数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称,通过数组中元素的位置来存取值。 创建一维数组的语法形式如下。...在使用数组前必须初始化数据,即为数组赋初值。 在初
  • C#数组的定义,不定长的数组?

    千次阅读 2017-07-25 17:40:00
    首先,在这里我要说明的是,C#中,定义了数组,那么就必须为其指定长度,且他的长度确定,不能够更改。一旦定义一个数组,那么操作系统就在内存中给这个数组指定了一块内存,他是不支持动态分配存储空间的。能够动态...
  • C#基本数据结构-数组

    2021-08-03 09:02:48
    文章目录一维数组的声明和使用二维维数组的声明和使用特殊数组传递数组给函数参数数组对Array类的使用 一维数组的声明和使用 ...(1) 第一种是在声明数组的时候为数组的元素赋初值。 (2) 另一种方式需要在声明数组
  • 数组全部赋值为0

    千次阅读 多人点赞 2021-05-07 07:57:27
    二、数组为全局变量 声明后自动赋值为0,不需要自己赋值 int sum[100]; int main(){ } 三、数组为局部变量 int main(){ int sum[100]={0}; } 只能把全部元素赋值为0,不能赋值为其他的数。 比如int sun[100]={1...
  • 二维数组初始化为0的方式

    千次阅读 2021-05-12 23:56:05
    采用赋值的方法,赋值一个为0,其余自动置0. 一、初始化;int a[100][100]={0}; 二、 1.int a[100][100]; 2.memset(a,0,sizeof(a));...三、动态分配内存方式构建数组,把malloc函数改用成calloc函数。
  • 7.1数组概述 数组是具有相同数据类型的一组数据的集合。数组中的每一个变量称为数组的元素,数组能够容纳元素的数量称为数组的长度。 根据维数分为多种数组 变量与数组 变量——保存一个数据 数组——保存...
  • C#数组

    2017-02-15 08:23:01
    C#中有一维数组、多维数组和交错数组(也就是数组数组)。 数组的下标是从0开始的,字符串也是,基本上只要涉及的有下标的都是从0开始。一维数组:int[] arr = new int[3];//3个都是默认值0 int[] arr1 = new ...
  • 定义20个元素的整形数组赋值。输入一个数如果该数在数组中存在,删除该数。其后的每个数前移一位。最后补0;
  • 两段程序计算得出的异或校验值不一致,用在线的校验工具看了一下C#的计算值正确,分析C代码发现校验值变量没有赋初值,以为初值会是0,实际不是,这样和C#算出来的结果不一致,初值赋值为0就好了。 ...
  • 1、数组 数组就是一个变量,用于将相同数据类型的数据存储在内存中。数组中的每一个数据元素都属于同一数据类型。例如,全班50个学生的成绩都是整型,就可以存储在一个整型数组里面。 我们知道声明一个变量就是在...
  • (1) C# 数组

    2020-09-03 22:19:11
    //跟c++不一样 int[6][7] //声明之后赋初值 arrs[0, 0] = 1; arrs[0, 3] = 3; int[,] arrs1 ={ {1,2,3,4 },{3,4,5,6 },{5,6,7,8 } };//声明的时候赋初值 //Array类 // Array ar = new Array(); //Array类是抽象类,...
  • int n=11;int m=11;//设置数组大小 int i, j; int[,] num=new int[n, m] ; int y = 1; for (i = 0; i &lt; n; i++) { for (j = 0; j &lt; m; j++)...
  • C#中定义数组--字符串及数组操作

    万次阅读 2018-08-17 10:53:00
    C# 支持一维数组、多维数组(矩形数组)和数组的数组(交错的数组)。下面的示例展示如何声明不同类型的数组:  一维数组:int[] numbers;  多维数组:string[,] names;  数组数组(交错的):byte[][] ...
  • 申明数组如何初始化为0

    万次阅读 2018-11-23 12:00:13
    文章目录数组结构体 数组 申明一数组 int array[1024] 有时候里面的值不确定的,称作野值 ,可以通过以下几种方法对其初始化成0。 1. 最简单的方法,申明之后,for 循环进行0赋值 for(int i=0; i&...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,196
精华内容 1,678
关键字:

c#数组赋初值

c# 订阅
友情链接: MultiThreadDownload.rar