C#动态二维数组函数处理方案

开发 后端
C#动态二维数组函数处理方案旨在为你解决具体的现实问题,那么C#动态二维数组函数处理方案能做到什么样子的效果,那么本文向你介绍具体的内容。

对于C#动态二维数组函数处理方案理解我们引入一个例子来看看生活中,有很多事物,仅仅用一维数组,将无法恰当地被表示。还是说学生成绩管理吧。一个班级30个学员,你把他们编成1到30号,这很好。但现在有两个班级要管理怎么办?人家每个班级都自有自的编号,比如一班学生编是1~30;二班的学生也是1~30。你说,不行,要进行计算机管理,你们两班学员的编号要混在一起,从1号编到60号。

另外一种情况,仍然只有一个班级30人。但这回他们站到了操场,他们要做广播体操,排成5行6列。这时所有老师都不管学员的编号了,老师会这样喊:“第2排第4个同学,就说你啦!踢错脚了!”。假设我们的校长大人要坐在校长室里,通过一个装有监视器的电脑查看全校学员做广播体操,这时,我们也需要一个多维数组。

那么如何在编程中实现C#动态二维数组函数处理方案呢?我们看看具体的实现内容:

  1.  //动态调整一维数组长度  
  2. public static Array Redim(Array origArray, int length)  
  3. {  
  4. //确定每个元素的类型  
  5. Type t = origArray.GetType().GetElementType();  
  6. //创建新的数组  
  7. Array newArray = Array.CreateInstance(t, length);  
  8. //原数组中的数据拷贝到新数组中  
  9. Array.Copy(origArray, 0, newArray, 0,   
  10. Math.Min(origArray.Length, length));  
  11. return newArray;  
  12. }  
  13.  
  14.  
  15. //动态调整二维数组长度  
  16. public static Array Redim(Array origArray,  
  17. params int[] lengths)  
  18. {  
  19. //确定每个元素的类型  
  20. Type t = origArray.GetType().GetElementType();  
  21. //创建新的数组  
  22. Array newArray = Array.CreateInstance(t, lengths);  
  23. //原数组中的数据拷贝到新数组中  
  24. for (int i = origArray.GetLowerBound(0);  
  25.  i <= Math.Min(origArray.GetUpperBound(0),  
  26.  newArray.GetUpperBound(0)); i++)  
  27. for (int j = origArray.GetLowerBound(1);   
  28. j <= Math.Min(origArray.GetUpperBound(1),  
  29.  newArray.GetUpperBound(1)); j++)  
  30. newArray.SetValue(origArray.GetValue(i, j), i, j);  
  31. //在这里没有用Copy方法,如果用此方法,  
  32. //会把原数组中所有数据逐个拷贝到新数组中    
  33. return newArray;  
  34. }  
  1. //如果在Redim方法中用Copy方法(动态调整二维数组长度)  
  2.  
  3. public static Array Redim(Array origArray,  
  4. params int[] lengths)  
  5. {  
  6. int length = 1;  
  7. for (int i = 0; i < lengths.Length; i++)  
  8. length *= lengths;  
  9. Type t = origArray.GetType().GetElementType();  
  10. Array newArray = Array.CreateInstance(t, lengths);  
  11. Array.Copy(origArray, 0, newArray, 0,  
  12. Math.Min(origArray.Length, length));  
  13. return newArray;  
  14. }  

那么C#动态二维数组函数处理方案就向你介绍到这里,希望那个对你了解和学习C#动态二维数组函数处理方案方面有所帮助。

【编辑推荐】

  1. C#截取字符串实际应用浅析
  2. C#截取字符串实战操作解析
  3. 浅析C#工作流以及功能
  4. C#工作流引擎的理解解析
  5. C#动态数组实用实例解析
责任编辑:仲衡 来源: 博客园
相关推荐

2009-08-07 10:12:09

C#二维数组

2009-09-18 11:33:37

C#二维数组初始化

2022-01-19 11:34:01

语言malloc()二维数组

2010-01-14 17:58:41

C++语言

2009-08-20 11:38:15

C#二维数组

2024-04-28 09:40:28

2009-08-18 14:46:16

C# 操作Excel

2010-07-19 13:06:13

Perl二维数组

2009-11-16 17:41:41

PHP二维数组

2009-11-16 17:07:58

PHP二维数组

2021-01-15 08:19:26

二维数组LeetCode

2009-09-16 17:29:10

Linq查询二维数组

2010-02-04 16:26:54

C++二维数组new

2009-09-17 18:14:05

C#动态数组

2010-07-13 15:15:49

Perl二维数组

2009-09-17 17:44:51

C#动态数组

2009-09-17 17:40:36

C#动态数组

2009-09-02 10:58:02

C#动态数组

2010-02-06 10:24:48

C++二维数组初始化

2021-02-20 20:27:44

数组前缀性能
点赞
收藏

51CTO技术栈公众号