关于数组的传参问题。。。。。。。。。。。。。。。。。。。。

IT_Young 2010-04-24 08:01:28
我定义了一个字节数组 b(20)
有一个函数 比如 fun 其中有个参数是 传入数组

fun(b)的话 是把整个数组全部传入 我现在只想传b(10-20)

不跟我整 先把数组复制到另外一个数组 然后再传

我的意思就是 有没有像C里面 简单的用指针 直接传 如fun(&b(10))


...全文
106 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mngzilin 2010-04-24
  • 打赏
  • 举报
回复
通过下面过程可实现:
            byte[] a=new byte[30];
for (int i = 0; i < a.Length;i++ )//初始化a
a[i] = Convert.ToByte(i);

a=a.Skip(10).ToArray();//返回从10往后所有的元素
a=a.Take(10).ToArray();//返回头10个元素,即10-20
IT_Young 2010-04-24
  • 打赏
  • 举报
回复
我在做网络程序 处理字节流 比较麻烦
兔子-顾问 2010-04-24
  • 打赏
  • 举报
回复
每种语言都有不太完美的地方,也有很多优秀的设计。不能直接操作内存,既是.net各种托管开发语言的劣势,也是优势,你不用再重复学习内存管理了。想想当年,学c++时候,内存管理是个大头,要了解操作系统原理,内存组织方法,分配时候还要考虑尽可能连续的按页分配,字节对齐等等。
IT_Young 2010-04-24
  • 打赏
  • 举报
回复
哎,麻烦。。。。。。。。
兔子-顾问 2010-04-24
  • 打赏
  • 举报
回复
2种方法
1.复制10~20到一个新数组,然后传递这个数组
2.传递数组,开始位置,长度,在函数内限定使用范围。
捷哥1999 2010-04-24
  • 打赏
  • 举报
回复
.net是内存安全的,托管代码不能做指针操作。你可以把你只想传的那部分放到一个新的数组中,传递过去,也可以改造函数,传递的时候,除了数组,还有要处理数组元素的起始和截止位置。
水哥阿乐 2010-04-24
  • 打赏
  • 举报
回复
没有这种,自己写一个吧。

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧