当前在线人数12442
首页 - 分类讨论区 - 电脑网络 - 窗口里的风景版 -阅读文章
未名交友
[更多]
[更多]
文章阅读:C#.Net Funsdamentals (5)
[同主题阅读] [版面: 窗口里的风景] [作者:cogt] , 2007年01月03日09:32:34
cogt
进入未名形象秀
我的博客
[上篇] [下篇] [同主题上篇] [同主题下篇]

发信人: cogt (苦荆茶), 信区: DotNet
标  题: C#.Net Funsdamentals (5)
发信站: BBS 未名空间站 (Wed Jan  3 09:32:50 2007), 转信

Introduction

C# (pronounced "C sharp") is a simple, modern, object-oriented, and type-
safe programming language. It will immediately be familiar to C and C++
programmers. C# combines the high productivity of Rapid Application
Development (RAD) languages and the raw power of C++.

Array Types

Arrays may be single-dimensional or multi-dimensional. Both "rectangular"
and "jagged" arrays are supported.

Single-dimensional arrays are the most common type. The example

using System;
class Test
{
  static void Main() {
     int[] arr = new int[5];
     for (int i = 0; i < arr.Length; i++)
        arr[i] = i * i;
     for (int i = 0; i < arr.Length; i++)
        Console.WriteLine("arr[{0}] = {1}", i, arr[i]);
  }
}
creates a single-dimensional array of int values, initializes the array
elements, and then prints each of them out. The output produced is:

arr[0] = 0
arr[1] = 1
arr[2] = 4
arr[3] = 9
arr[4] = 16
The type int[] used in the previous example is an array type. Array types
are written using a non-array-type followed by one or more rank specifiers.
The example

class Test
{
  static void Main() {
     int[] a1;         // single-dimensional array of int
     int[,] a2;         // 2-dimensional array of int
     int[,,] a3;         // 3-dimensional array of int
     int[][] j2;         // "jagged" array: array of (array of int)
     int[][][] j3;      // array of (array of (array of int))
  }
}
shows a variety of local variable declarations that use array types with int
as the element type.

Array types are reference types, and so the declaration of an array variable
merely sets aside space for the reference to the array. Array instances are
actually created via array initializers and array creation expressions. The
example

class Test
{
  static void Main() {
     int[] a1 = new int[] {1, 2, 3};
     int[,] a2 = new int[,] {{1, 2, 3}, {4, 5, 6}};
     int[,,] a3 = new int[10, 20, 30];
     int[][] j2 = new int[3][];
     j2[0] = new int[] {1, 2, 3};
     j2[1] = new int[] {1, 2, 3, 4, 5, 6};
     j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
  }
}
shows a variety of array creation expressions. The variables a1, a2 and a3
denote rectangular arrays, and the variable j2 denotes a jagged array. It
should be no surprise that these terms are based on the shapes of the arrays
. Rectangular arrays always have a rectangular shape. Given the length of
each dimension of the array, its rectangular shape is clear. For example,
the lengths of a3's three dimensions are 10, 20, and 30 respectively, and it
is easy to see that this array contains 10*20*30 elements.

In contrast, the variable j2 denotes a "jagged" array, or an "array of
arrays". Specifically, j2 denotes an array of an array of int, or a single-
dimensional array of type int[]. Each of these int[] variables can be
initialized individually, and this allows the array to take on a jagged
shape. The example gives each of the int[] arrays a different length.
Specifically, the length of j2[0] is 3, the length of j2[1] is 6, and the
length of j2[2] is 9.

In C++, an array declared as int x[3][5][7] would be considered a three-
dimensional rectangular array, while in C#, the declaration int[][][]
declares a jagged array type.

The element type and shape of an array — including whether it is jagged or
rectangular, and the number of dimensions it has — are part of its type. On
the other hand, the size of the array — as represented by the length of
each of its dimensions — is not part of an array's type. This split is made
clear in the language syntax, as the length of each dimension is specified
in the array creation expression rather than in the array type. For instance
the declaration

int[,,] a3 = new int[10, 20, 30];
has an array type of int[,,] and an array creation expression of new int[10,
20, 30].

For local variable and field declarations, a shorthand form is permitted so
that it is not necessary to re-state the array type. For instance, the
example

int[] a1 = new int[] {1, 2, 3};
can be shortened to

int[] a1 = {1, 2, 3};
without any change in program semantics.

The context in which an array initializer such as {1, 2, 3} is used
determines the type of the array being initialized. The example

class Test
{
  static void Main() {
     short[] a = {1, 2, 3};
     int[]   b = {1, 2, 3};
     long[] c = {1, 2, 3};
  }
}
shows that the same array initializer syntax can be used for several
different array types. Because context is required to determine the type of
an array initializer, it is not possible to use an array initializer in an
expression context without explicitly stating the type of the array.

Summary


These will help u understand fundas of c#.net .. will continue

--

※ 修改:·cogt 于 Jan  3 09:32:59 修改本文·[FROM: 216.99.]
※ 来源:·BBS 未名空间站 mitbbs.com·[FROM: 216.99.]

[上篇] [下篇] [同主题上篇] [同主题下篇]
[转寄] [转贴] [回信给作者] [修改文章] [删除文章] [同主题阅读] [从此处展开] [返回版面] [快速返回] [收藏] [举报]
 
回复文章
标题:
内 容:

未名交友
将您的链接放在这儿

友情链接


 

Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有,未名空间(mitbbs.com),since 1996