PDA

View Full Version : مبتدی: سوال: دسترسی به اعضای آرایه



sara alavi
یک شنبه 19 اردیبهشت 1389, 14:38 عصر
سلام
وقتی در کلاس main یک متد تعریف میکنیم و در آن متد آرایه ای 100 تایی از کلاس employee تعریف میکنیم، چه جوری میتونم در یک متد دیگه در main به اعضای آرایه فوق دسترسی داشت؟



public static void Addemployee()
{

Employee [] list = new Employee[100];
list[Employee.j] = GetEmployeeData();
Employee.j++;





}






و میخوام در این متد استفاده کنم.



public static void Findemployee()
{
Console.WriteLine("enter ID");
int m;
int id = Convert.ToInt32(Console.ReadLine());

for (m = 0; m < 100; m++)
{
if (List[m].ID == id)
{
List[m].Display();
m = 100;
}

}
}

md_bluelily
یک شنبه 19 اردیبهشت 1389, 15:09 عصر
به خاطر اینکه آرایه رو در یک متد تعریف می کنید قادر نیستید از خارج متد از اون استفاده کنید.
در صورتی که می خواهید از این آرایه خارج از متد استفاده کنید باید تعریف آرایه رو به بیرون از متد انتقال بدید و initialize اون رو در داخل متد انجام بدید.
به خاطر داشته باشید که هر جا خواستید از این آرایه استفاده کنید حتماً چک کنید که این آرایه null نباشه و قبلاً initialize شده باشد.

موفق باشید.

sara alavi
یک شنبه 19 اردیبهشت 1389, 16:06 عصر
من دارم یه ساختار شرطی می سازم که اگر مثلا کاربر 0 را وارد کرد این متد اجرا شود.
چه جوری میتونم هم از این شرط استفاده کنم و هم در خارج از متد تعریف کنم؟

sara alavi
یک شنبه 19 اردیبهشت 1389, 16:27 عصر
در صورتی که می خواهید از این آرایه خارج از متد استفاده کنید باید تعریف آرایه رو به بیرون از متد انتقال بدید و initialize اون رو در داخل متد انجام بدید.


موفق باشید.

منظورتون اینه که به شکل زیر بنویسم؟


public Employee [] list = new Employee[100];
public static void Addemployee()
{


list[Employee.j] = GetEmployeeData();
Employee.j++;





}


بازم لیست رو نمیشناسه.

sds1920
یک شنبه 19 اردیبهشت 1389, 16:38 عصر
چون آرايه شما Public هست براي اينكه بخواي توي يك تابع ديگه ازش استفاده كني بايد اونو به صورت پارامتر به تابع بفرستي.