i am very new to c# and dont understand all of array passing to methods. chief reason for these misunderstandings is the keyword param.

param can only be used in a method header once and is always passed by value. also it works on a number of individually declared variables which is then passed as an array.

But what then of a real variable array? the type declared by for example .... int[] a = new int[ 10 ];.....? Can one pass a real array to a method without the use of the keyword param? and is such an array passed by value or by reference. if the programmer can specify which one then how does he specify it? by typing in the keyword ref in front of the array? also can one pass more than one array. for example can one pass an integer array as well as a string array to a method? and lastly can one use the keyword out with an array.

sorry if these sound like silly questions. i was on a few websites but they did not answer the questions i just asked.

yes you can pass an array such as
MyMethod(byte[] jpgstream)

parameters are passed by value as a default so no need to specify byval. If you want to pass by reference then specify ref before EACH parameter that you want as a reference. There is also the OUT keyword in C# to specify out parameters (by val is and In parameter, by ref is an IN/OUT parameter and OUT is an Out parameter).

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.