Re: How can I pass a multidimensional array as a ref parameter in func
- From: "AHN" <anerse@xxxxxxxxxx>
- Date: Fri, 22 Jul 2005 18:17:27 -0400
Arrays are always passed by reference even if you omit 'ref' before the
argument. Array's name is its address.
"Jon Skeet [C# MVP]" <skeet@xxxxxxxxx> wrote in message
news:MPG.1d4b7e71907c4c8d98c4f5@xxxxxxxxxxxxxxxxxxxxxxx
vmsgman <vmsgman@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> Here is a code sample ...
>
> int blah = ReadFile( defArray[,], defFileName, w, h);
>
> // Read File Contents into memory array and return for processing
> public int ReadFile( ref ushort[,] nArray, string sFname, int w, int h)
> {
> FileStream fs = new FileStream(sFname, FileMode.Open, FileAccess.Read);
> BinaryReader br = new BinaryReader(fs);
> // Read data
> for (int y=0; y<h; y++)
> {
> for (int x=0; x<w; x++)
> {
> nArray[x,y] = br.ReadUInt16();
> }
> }
> br.Close();
> fs.Close();
> return 0;
> }
>
> Can anyone help get this to work and compile ???
You pass arrays by reference in exactly the same way as you pass
anything else by reference:
int blah = ReadFile (ref defArray, defFileName, w, h);
However, it seems to me that it would be more appropriate as a return
value in the above - it's the result of reading the file, and currently
you're just returning 0. If that's meant to be a status code, you
should consider using exceptions for indicating errors.
You should also use "using" blocks (or their equivalent, try/finally
blocks) to make sure that files get closed whether or not an exception
is thrown.
--
Jon Skeet - <skeet@xxxxxxxxx>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
.
- Follow-Ups:
- Re: How can I pass a multidimensional array as a ref parameter in func
- From: Jon Skeet [C# MVP]
- Re: How can I pass a multidimensional array as a ref parameter in func
- References:
- How can I pass a multidimensional array as a ref parameter in func
- From: vmsgman
- Re: How can I pass a multidimensional array as a ref parameter in func
- From: Jon Skeet [C# MVP]
- How can I pass a multidimensional array as a ref parameter in func
- Prev by Date: Untested. This should work
- Next by Date: Re: How can I pass a multidimensional array as a ref parameter in func
- Previous by thread: Re: How can I pass a multidimensional array as a ref parameter in func
- Next by thread: Re: How can I pass a multidimensional array as a ref parameter in func
- Index(es):
Relevant Pages
|