`
isiqi
  • 浏览: 16356528 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

.net 基础知识大杂烩(4) ——数组

阅读更多
数组

任务 C# VB
创建一个长度为5的一维数组,使用默认值作为初值 int[] ages = new int[5];
Console.WriteLine(ages.Length); //=> 5
Console.WriteLine(ages.Rank); //=> 1
Console.WriteLine(ages.GetLowerBound(0)); // => 0
Console.WriteLine(ages.GetUpperBound(0)); // => 4
Dim ages(4) As Integer
Console.WriteLine(ages.Length)'=> 5
Console.WriteLine(ages.Rank)'=> 1
Console.WriteLine(ages.GetLowerBound(0))' => 0
Console.WriteLine(ages.GetUpperBound(0))'=> 4
创建一个长度为5的一维数组,指定初始值 int[] ages = new int[5] { 1, 3, 5, 7, 9 }; // OK
int[] ages1 = new int[] { 1, 3, 5, 7, 9 }; // OK
int[] ages2 = new int[6] { 1, 3, 5, 7, 9 }; // 编译错误
Console.WriteLine(ages.Length); //=> 5
Console.WriteLine(ages.Rank); //=> 1
Console.WriteLine(ages.GetLowerBound(0)); // => 0
Console.WriteLine(ages.GetUpperBound(0)); // => 4
Dim ages() As Integer = New Integer(4) {1, 3, 5, 7, 9} ' OK
Dim ages1() As Integer = New Integer() {1, 3, 5, 7, 9} ' OK
Dim ages2() As Integer = New Integer(5) {1, 3, 5, 7, 9} ' 编译错误
Console.WriteLine(ages.Length)'=> 5
Console.WriteLine(ages.Rank)'=> 1
Console.WriteLine(ages.GetLowerBound(0))' => 0
Console.WriteLine(ages.GetUpperBound(0))'=> 4
创建一个2行3列二维数组,使用默认值作为初值 int[,] t = new int[2, 3];
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank); //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 1
Console.WriteLine(t.GetLowerBound(1)); // => 0
Console.WriteLine(t.GetUpperBound(1)); // => 2
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(1, 2) As Integer
Console.WriteLine(t.Length)'=> 6
Console.WriteLine(t.Rank)'=> 2
Console.WriteLine(t.GetLength(0))'=> 2
Console.WriteLine(t.GetLowerBound(0))'=> 0
Console.WriteLine(t.GetUpperBound(0))'=> 1
Console.WriteLine(t.GetLowerBound(1))'=> 0
Console.WriteLine(t.GetUpperBound(1))'=> 2
Console.WriteLine(t.GetLength(1))'=> 3
创建一个2行3列二维数组,指定初始值 int[,] t = new int[2,3] { { 1, 2, 3 },
{ 4, 5, 6 } };
int[,] t1 = new int[,] { { 1, 2, 3 },
{ 4, 5, 6 } };
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank); //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 1
Console.WriteLine(t.GetLowerBound(1)); // => 0
Console.WriteLine(t.GetUpperBound(1)); // => 2
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(,) As Integer = New Integer(1, 2) {{1, 2, 3}, _
{4, 5, 6}}
Dim t1(,) As Integer = New Integer(,) {{1, 2, 3}, _
{4, 5, 6}}
Console.WriteLine(t.Length)'=> 6
Console.WriteLine(t.Rank)'=> 2
Console.WriteLine(t.GetLength(0))'=> 2
Console.WriteLine(t.GetLowerBound(0))'=> 0
Console.WriteLine(t.GetUpperBound(0))'=> 1
Console.WriteLine(t.GetLowerBound(1))'=> 0
Console.WriteLine(t.GetUpperBound(1))'=> 2
Console.WriteLine(t.GetLength(1))'=> 3
创建一个长度为5下标为1的一维数组,使用默认值作为初值 Array t = Array.CreateInstance(typeof(string), new int[] { 5 }, new int[] { 1 });
Console.WriteLine(t.Length); //=> 5
Console.WriteLine(t.Rank); //=> 1
Console.WriteLine(t.GetLength(0)); // => 5
Console.WriteLine(t.GetLowerBound(0)); // => 1
Console.WriteLine(t.GetUpperBound(0)); // => 5
Dim t As Array = Array.CreateInstance(GetType(Integer), New Integer() {5}, New Integer() {1})
Console.WriteLine(t.Length)'=> 5
Console.WriteLine(t.Rank)'=> 1
Console.WriteLine(t.GetLength(0))'=> 5
Console.WriteLine(t.GetLowerBound(0))'=> 1
Console.WriteLine(t.GetUpperBound(0))'=> 5
创建一个2行3列下标为1的二维数组,使用默认值作为初值 int[,] t = (int[,])Array.CreateInstance(typeof(int), new int[] {2,3}, new int[] {1,1});
Console.WriteLine(t.Length); //=> 6
Console.WriteLine(t.Rank); //=> 2
Console.WriteLine(t.GetLength(0)); // => 2
Console.WriteLine(t.GetLowerBound(0)); // => 1
Console.WriteLine(t.GetUpperBound(0)); // => 2
Console.WriteLine(t.GetLowerBound(1)); // => 1
Console.WriteLine(t.GetUpperBound(1)); // => 3
Console.WriteLine(t.GetLength(1)); // => 3
Dim t(,) As Integer = Array.CreateInstance(GetType(Integer), New Integer() {2, 3}, New Integer() {1, 1})
Console.WriteLine(t.Length)'=> 6
Console.WriteLine(t.Rank)'=> 2
Console.WriteLine(t.GetLength(0))'=> 2
Console.WriteLine(t.GetLowerBound(0))'=> 1
Console.WriteLine(t.GetUpperBound(0))'=> 2
Console.WriteLine(t.GetLowerBound(1))'=> 1
Console.WriteLine(t.GetUpperBound(1))'=> 3
Console.WriteLine(t.GetLength(1))'=> 3
改变数组长度 int[] t = new int[2];
Array.Resize(ref t, 3);
Console.WriteLine(t.Length); //=> 3
Console.WriteLine(t.Rank); //=> 1
Console.WriteLine(t.GetLength(0)); // => 3
Console.WriteLine(t.GetLowerBound(0)); // => 0
Console.WriteLine(t.GetUpperBound(0)); // => 2
Dim t(2) As Integer
Array.Resize(t, 3)
Console.WriteLine(t.Length)'=> 3
Console.WriteLine(t.Rank)'=> 1
Console.WriteLine(t.GetLength(0))'=> 3
Console.WriteLine(t.GetLowerBound(0))'=> 0
Console.WriteLine(t.GetUpperBound(0))'=> 2
引用类型数组的强制类型转换 string[] s = new string[3];
object[] os = s;
s = (string[])os;
Dim s(2) As String
Dim os() As Object = s
s = os
值类型数组的强制类型转换(VS2005) int[] a = new int[2];
decimal[] da1 = a; // 编译错误
decimal[] da2 = (int[])a; // 编译错误
decimal[] da = Array.ConvertAll(a,
new Converter(
delegate(int old)
{
return old;
})); // OK
Dim a(2) As Integer
Dim da() As Decimal = Array.ConvertAll(a, _
New Converter(Of Integer, Decimal)(AddressOf ConvertInt))

Function ConvertInt(ByVal old As Integer) As Decimal
Return old
End Function
值类型数组的强制类型转换(VS2008) int[] a = new int[2];
decimal[] da = Array.ConvertAll(a,
new Converter(old => old));
Dim a(2) As Integer
Dim da() As Decimal = Array.ConvertAll(Of Integer, Decimal)(a, _
New Converter(Of Integer, Decimal)(Function(old) old))
创建一个交错数组(即数组的数组) int[][] a = new int[2][];
Console.WriteLine(a[0] == null); //=> True
Dim a(2)() As Integer
Console.WriteLine(a(0) Is Nothing) '=> True
创建一个交错数组,并初始化(例1) int[][] a = new int[2][] { new int[2], new int[3] };
Console.WriteLine(a[0].Length); //=> 2
Console.WriteLine(a[1].Length); //=> 3
Dim m(1) As Integer
Dim n(2) As Integer
Dim a()() As Integer = New Integer(1)() {m, n}
Console.WriteLine(a(0).Length) '=> 2
Console.WriteLine(a(1).Length) '=> 3
创建一个交错数组,并初始化(例2) int[][] a = new int[2][] { new int[2] { 1, 2 },
new int[3] { 11, 22, 33 } };
Console.WriteLine(a[0][0]); //=> 1
Console.WriteLine(a[1][2]); //=> 33
Dim m() As Integer = New Integer(1) {1, 2}
Dim n() As Integer = New Integer(2) {11, 22, 33}
Dim a()() As Integer = New Integer(1)() {m, n}
Console.WriteLine(a(0)(0)) '=> 1
Console.WriteLine(a(1)(2)) '=> 33

http://www.cnblogs.com/1-2-3/archive/2008/03/15/net-basic-knowledge-3-cs-vb-array.html
分享到:
评论

相关推荐

    GenomeDotNet:.NET项目的大杂烩,可用于处理23andme数据

    .NET项目的大杂烩,可用于处理23andme数据 ISOGG 2015 Y-DNA单倍体树 在互联网上寻找易于解析的ISOGG 2015 Y-DNA Haplogroup树的版本,我倒霉了。 因此,我决定刮除ISOGG的页面并将数据投影到易于使用的JSON文件中。...

    基础传统神经网络算法大杂烩.zip

    基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经网络算法大杂烩 基础传统神经网络算法大杂烩基础传统神经...

    亮剑.NET深入体验与实战精要2

    第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 具有Master页的生命周期事件顺序 116 3.1.3 ASP.NET生命周期详解 118 3.2 页面状态管理 120 3.2.1 Cookie 121 3.2.2...

    亮剑.NET深入体验与实战精要.part2

     第3章 asp.net开发大杂烩  3.1 页面生命周期  3.2 页面状态管理  ……  第4章 windows窗体编程你也行  第5章 数据库开发  第6章 关于xml  第7章 web service开发详解  第8章 用户体验的杀手锏——...

    亮剑.NET深入体验与实战精要3

    第3章 ASP.NET开发大杂烩 113 3.1 页面生命周期 114 3.1.1 独立页面生命周期事件顺序 114 3.1.2 具有Master页的生命周期事件顺序 116 3.1.3 ASP.NET生命周期详解 118 3.2 页面状态管理 120 3.2.1 Cookie 121 3.2.2...

    亮剑.NET深入体验与实战精要.part4(完)

     第3章 asp.net开发大杂烩  3.1 页面生命周期  3.2 页面状态管理  ……  第4章 windows窗体编程你也行  第5章 数据库开发  第6章 关于xml  第7章 web service开发详解  第8章 用户体验的杀手锏——...

    ASP.NET 大杂桧

    在"ASP.NET 大杂烩"这个主题中,我们主要关注三个核心知识点:AJAXPro的参数传递、ASP.NET分页技术和Repeater控件。 首先,AJAXPro是ASP.NET中的一个库,它允许开发者创建高效的、具有部分页面更新功能的Web应用,...

    亮剑.NET深入体验与实战精要.part3

     第3章 asp.net开发大杂烩  3.1 页面生命周期  3.2 页面状态管理  ……  第4章 windows窗体编程你也行  第5章 数据库开发  第6章 关于xml  第7章 web service开发详解  第8章 用户体验的杀手锏——...

    C++基础入门教程(一):基础知识大杂烩

    注意:本系列教程不适合无任何编程语言基础的朋友,只是作为C++基础的一种补充。 教程内容基于《C++ Primer Plus》一书,适合初学者,熟手请直接忽略。 1. 如果你不注释,那么,我会把你注释掉~! C++的注释有2种, ...

    亮剑.NET深入体验与实战精要.part1.

     第3章 asp.net开发大杂烩  3.1 页面生命周期  3.2 页面状态管理  ……  第4章 windows窗体编程你也行  第5章 数据库开发  第6章 关于xml  第7章 web service开发详解  第8章 用户体验的杀手锏——...

    各种工具大杂烩

    在IT行业中,"工具大杂烩"通常指的是包含多种不同类型工具的集合,这些工具可能涵盖了开发、测试、运维、数据分析等多个领域。在这个压缩包文件"聚宝盆"中,我们可以推测它可能包含了丰富的IT资源,旨在帮助用户一站...

    (大杂烩)proteus仿真MCS51一百例.rar

    (大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例.rar(大杂烩)proteus仿真MCS51一百例...

    人脸识别大杂烩

    总的来说,“人脸识别大杂烩”涵盖的内容广泛且深入,从基础理论到前沿技术,从算法实现到实际应用,无不体现了这一领域的发展活力和广阔前景。通过不断的研究和创新,人脸识别技术将持续推动社会智能化的步伐。

    网络安全大杂烩

    罗列了一些网络安全方面的知识,简单介绍了安全测试的知识。

    大杂烩proteus仿真MCS51一百例

    大杂烩proteus仿真MCS51一百例; 有100个例题学习1!

    测试大杂烩

    在这个“测试大杂烩”中,我们将会探讨软件测试的基础概念、测试用例设计、自动化测试的原理以及在实际项目中如何有效地运用这些知识。 首先,我们要理解什么是软件测试。它是一种系统性的过程,用于评估软件产品...

    科研论文作图之大杂烩图片的制作.rar

    视频教程"科研论文作图010_大杂烩图片的制作.wmv"则可能是对这些理论知识的实际操作演示,通过动态的方式展示制作过程,使学习者能够更直观地掌握技巧。这可能包括一步步的指导,例如如何合并不同的图表元素,调整...

Global site tag (gtag.js) - Google Analytics