我是一个初学者,刚刚接触C++ C# sql sever html
但对于C# 和C++中的数组 很是不明白 不知道怎么去应用
请大家帮帮我 告诉我怎么样才能应用好数组 我看过很多程序 到了数组那我就不知道怎么样进行的
先谢谢个位前辈们了
但对于C# 和C++中的数组 很是不明白 不知道怎么去应用
请大家帮帮我 告诉我怎么样才能应用好数组 我看过很多程序 到了数组那我就不知道怎么样进行的
先谢谢个位前辈们了
解决方案 »
- c#实现 Dropdownlist只读不可选择效果
- [C#初级问题]关于类中非方法中不能使用this问题.
- 求助,保存文件为个unicode格式的
- 怎么用报表预览器绑定水晶报表?
- sql语句的弱智问题,同样的问题在查询分析器可以实现,但在COMMAND里没法实现
- ASP.NET中DropDownList控件如何绑定数据表中某一列值呀
- <sessionState />问题
- 用DataSet做水晶报表的数据源,ACCESS数据库,出现登录失败的问题
- 如何得到被删除的记录
- PropertyGrid使用时必须结合实际的对象吗?可不可以不用selectObject,而直接对PropertyGrid进行控制?
- 关于进程的调用和参数传递
- 刚刚接触,请教,"名称以无效字符开头。处理资源 "怎么回事?
C#中,数组类型为: 类型[],比如int[] 就是一个int类型的数组,数组里面的单元都是int类型的.数组本身是一个引用类型的.
int[] array=new int[10];
就是声明一个int[] 的array,大小是10个,单元的最小类型都是int的.
同理,MyObject[] o=new MyObject[100];
就是声明MyObject[] 的o,大小为100.
等等
这个没什么难的
for(i=1;i<10;i++)
o[i]=i;
二围的用二重循环,如:
for(i=1;i<10;i++)
for(j=1;j<10;j++)
o[i][j]=i;
数组具有以下属性:
数组可以是一维、多维或交错的。
数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
数组元素可以是任何类型,包括数组类型。
数组类型是从抽象基类型 Array 派生的引用类型。由于此类型实现了 IEnumerable 和 IEnumerable,因此可以对 C# 中的所有数组使用 foreach 迭代。一维数组:
//可以如下例所示声明一个由 5 个整数组成的数组:
int[] array = new int[5];
//此数组包含从 array[0] 到 array[4] 的元素。new 运算符用于创建数组并将数组元素初始化为它们的默认值。在此例中,所有数组元素都初始化为零。//可以用相同的方式声明存储字符串元素的数组。例如:
string[] stringArray = new string[6]; //数组初始化//可以在声明数组时将其初始化,在这种情况下不需要级别说明符,因为级别说明符已经由初始化列表中的元素数提供。例如:
int[] array1 = new int[5] { 1, 3, 5, 7, 9 }; //可以用相同的方式初始化字符串数组。下面声明一个字符串数组,其中每个数组元素用每天的名称初始化:
string[] weekDays = new string[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; //如果在声明数组时将其初始化,则可以使用下列快捷方式:
int[] array2 = { 1, 3, 5, 7, 9 };
string[] weekDays2 = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; //可以声明一个数组变量但不将其初始化,但在将数组分配给此变量时必须使用 new 运算符。例如:
int[] array3;
array3 = new int[] { 1, 3, 5, 7, 9 }; // OK
//array3 = {1, 3, 5, 7, 9}; // Error
多维数组:
//数组可以具有多个维度。例如,下列声明创建一个四行两列的二维数组:
int[,] array = new int[4, 2]; //另外,下列声明创建一个三维(4、2 和 3)数组:
int[, ,] array1 = new int[4, 2, 3]; //数组初始化//可以在声明数组时将其初始化,如下例所示:
int[,] array2D = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } };
int[, ,] array3D = new int[,,] { { { 1, 2, 3 } }, { { 4, 5, 6 } } }; //也可以初始化数组但不指定级别:
int[,] array4 = { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; //如果选择声明一个数组变量但不将其初始化,必须使用 new 运算符将一个数组分配给此变量。例如:
int[,] array5;
array5 = new int[,] { { 1, 2 }, { 3, 4 }, { 5, 6 }, { 7, 8 } }; // OK
//array5 = {{1,2}, {3,4}, {5,6}, {7,8}}; // Error //也可以给数组元素赋值,例如:
array5[2, 1] = 25; //下面的代码示例将数组变量初始化为默认值(交错数组除外):
int[,] array6 = new int[10, 10];
交错数组:
//交错数组是元素为数组的数组。交错数组元素的维度和大小可以不同。交错数组有时称为“数组的数组”。以下示例说明如何声明、初始化和访问交错数组。//下面声明一个由三个元素组成的一维数组,其中每个元素都是一个一维整数数组:
int[][] jaggedArray = new int[3][]; //必须初始化 jaggedArray 的元素后才可以使用它。可以如下例所示初始化该元素:jaggedArray[0] = new int[5];
jaggedArray[1] = new int[4];
jaggedArray[2] = new int[2]; //每个元素都是一个一维整数数组。第一个元素是由 5 个整数组成的数组,第二个是由 4 个整数组成的数组,而第三个是由 2 个整数组成的数组。//也可以使用初始值设定项用值填充数组元素,在这种情况下不需要数组大小。例如:jaggedArray[0] = new int[] { 1, 3, 5, 7, 9 };
jaggedArray[1] = new int[] { 0, 2, 4, 6 };
jaggedArray[2] = new int[] { 11, 22 }; //还可以在声明数组时将其初始化,如:
int[][] jaggedArray2 = new int[][]
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
}; //可以使用下面的速记格式。请注意:不能从元素初始化中省略 new 运算符,因为不存在元素的默认初始化:int[][] jaggedArray3 =
{
new int[] {1,3,5,7,9},
new int[] {0,2,4,6},
new int[] {11,22}
}; //交错数组是数组的数组,因此其元素是引用类型并初始化为 null。//可以如下例所示访问个别数组元素:
// Assign 77 to the second element ([1]) of the first array ([0]):
jaggedArray3[0][1] = 77;// Assign 88 to the second element ([1]) of the third array ([2]):
jaggedArray3[2][1] = 88; //可以混合使用交错数组和多维数组。下面声明和初始化一个一维交错数组,该数组包含大小不同的二维数组元素:
int[][,] jaggedArray4 = new int[3][,]
{
new int[,] { {1,3}, {5,7} },
new int[,] { {0,2}, {4,6}, {8,10} },
new int[,] { {11,22}, {99,88}, {0,9} }
}; //可以如本例所示访问个别元素,该示例显示第一个数组的元素 [1,0] 的值(值为 5):
System.Console.Write("{0}", jaggedArray4[0][1, 0]); //方法 Length 返回包含在交错数组中的数组的数目。例如,假定您已声明了前一个数组,则此行:
System.Console.WriteLine(jaggedArray4.Length);
//将返回值 3。//示例
//本例生成一个数组,该数组的元素为数组自身。每一个数组元素都有不同的大小。
class ArrayTest
{
static void Main()
{
// Declare the array of two elements:
int[][] arr = new int[2][]; // Initialize the elements:
arr[0] = new int[5] { 1, 3, 5, 7, 9 };
arr[1] = new int[4] { 2, 4, 6, 8 }; // Display the array elements:
for (int i = 0; i < arr.Length; i++)
{
System.Console.Write("Element({0}): ", i); for (int j = 0; j < arr[i].Length; j++)
{
System.Console.Write("{0}{1}", arr[i][j], j == (arr[i].Length - 1) ? "" : " ");
}
System.Console.WriteLine();
}
}
} /*
输出Element(0): 1 3 5 7 9 Element(1): 2 4 6 8 */