5.1.Тәсілдер параметрлері
Қарапайым тәсіл мысалы
5.2. Тәсілді шақыру
Тәсілге параметрлерді беру мысалы
36
using System;
namespace Lisning5_3 {
class Class1 { static int Max(int a, int b) // макс. мәнді таңдау
{ if ( a > b ) return a;
else return b;
}
static void Main()
{ int a = 2, b = 4;
int x = Max( a, b ); // Max тәсілін шақыру
Console.WriteLine( x ); // нәтижесі: 4
short t1 = 3, t2 = 4;
int y = Max( t1, t2 ); // үйлесімді тип пар-рлері
Console.WriteLine( y ); // нәтижесі : 4
int z = Max( a + t1, t1 / 2 * b ); // өрнек
Console.WriteLine( z ); // нәтижесі : 5
}
}
}
5.3. Параметрлерді беру тәсілдері және олардың типтері
Параметрлерді беру тәсілдері: мән бойынша және сілтеме бойынша. Параметрлерді мә
н бойынша беру кезінде тәсіл аргументтер мәнінің көшірмелерін алады да, тәсіл операторлар
ы осы көшірмелермен жұмыс істейді.
Параметрлерді сілтеме (адрес) бойынша беру кезінде тәсіл аргументтер адресінің көші
рмесін алады да, сол (бұрынғы) адрестердегі аргументтерді пайдаланады.
С# тілінде параметрлердің төрт типі бар:
мән-параметрлер;
сілтеме-параметрлер (ref);
нәтижелік (шығыс - выходные) параметрлер (out);
жиым-параметрлер (params).
Түйінді сөздер параметрлер типтерін сипаттаудың алдында тұрады. Егер ол болмаса,
параметр мән-параметр болып есептеледі. Мысалы:
public int Calculate( int a, ref int b, out int c, params int[] d ) …
Мысал: мән-параметрлер мен ref сілтемелері
using System;
namespace Listing5_4
{ class Class1
{ static void P( int a, ref int b )
{
a = 44;
b = 33;
Console.WriteLine( "тәсіл ішінде {0} {1}", a, b );
} static void Main()
{
int a = 2, b = 4;
Console.WriteLine( "шақыруға дейін {0} {1}", a, b );
P( a, ref b );
Console.WriteLine("шақырудан кейін {0} {1}", a, b );
}
}
}
Мысал: out шығыс параметрлері
37
using System;
namespace Listing5_5
{ class Class1
{ static void P( int x, out int y )
{
x = 44; y = 33;
Console.WriteLine( " тәсіл ішінде {0} {1}", x, y );
}
static void Main()
{
int a = 2, b; // b-ны инициалдау қажет емес
P( a, out b );
Console.WriteLine( "шақырудан кейін {0} {1}", a, b );
}
}
}
Достарыңызбен бөлісу: |