PDA

View Full Version : حرفه ای: نام گذاری برای یک لیست پیوندی(linkedlist)



arbab333
شنبه 30 دی 1391, 08:24 صبح
سلام.من تعدادی دیتاتیبل دارم که می خوام به linkedlist اضافه کنم. این داده هام مثلا به این صورته که برای دیتاتیبل "tehran" یک حلقه ایجاد کردم و 6 تا دیتاتیبل ایجاد کردم که هر کدوم 6 تا ستون و تعداد نابرابری سطر با سرآیندهای متفاوت دارن یعنی سطرای دو تا دیتاتیبل ممکنه مثل هم نباشن و همشونو به یه linkedlist اضافه کردم یعنی یه linkedlist با 6 عضو.همینطور یه دیتاتیبل دیگه به نام "esfahan" دارم که مثل قبلی 6 تاست و میخام به یه linkdlist دیگه اضافه کنم.در هر بار اجرای برنامه نام دیتاتیبلهای تهران و اصفهانم عوض میشن مثلا بار دوم میشن مشهد و شیراز و...
چجوری میتونم این دیتاتیبلارو به linkedlist اضافه کنم و بعدن مثلن به دومین دیتاتیبل شیراز در linkedlist دسترسی داشته باشم و روش یه سری اعمال انجام بدم؟؟؟؟
اصلن واسه این کار چه ساختمان داده ای بهتره؟؟من همیسه به صورت پشت سر هم به اطلاعات linkedlist نیاز دارم.
اگه کسی میتونه خاهشن راهنماییم کنه.

Mahmoud.Afrad
یک شنبه 01 بهمن 1391, 10:59 صبح
یعنی به ازای هر شهر چند دیتاتیبل تولید میکنید؟ اگر بله ...
برای ذخیره دیتاتیبل ها از دیتاست استفاده کنید. برای هر دیتاتیبل نامی در نظر بگیرید.
برای ذخیره اطلاعات همه شهرها از Dictionary استفاده کنید. کلید دیکشنری همان نام شهر و مقدار دیکشنری دیتاستی هست که برای اون شهر ساختید:
Dictionary<string, DataSet> dicCityInfo = new Dictionary<string, DataSet>();
مثال ، افزودن اطلاعات یک شهر به دیکشنری:

DataSet ds = new DataSet();
DataTable dt1 = new DataTable("dt1");
// fill dt1
DataTable dt2 = new DataTable("dt2");
// fill dt2
// create and fill another datatables
ds.Tables.AddRange(new DataTable[] { dt1, dt2 }); // add all datatables to dataset
// add to dicionary
dicCityInfo.Add("Tehran", ds);

برای دسترسی به اطلاعات هر شهر از کلید(نام) استفاده کنید. مقدار(value) همان دیتاستی هست که ذخیره کردید.
DataSet dsTeh = dicCityInfo["Tehran"];
از طریق نام دیتاتیبل هم به دیتاتیبل ها دسترسی دارید:
dsTeh.Tables["dt1"]