PDA

View Full Version : سوال: حذف یکی از اجزای آرایه



InvBoy01001
شنبه 29 فروردین 1394, 10:40 صبح
سلام
من یه برنامه دارم مینویسم که نیاز دارم از یک string به عنوان آرایه 2 بعدی استفاده کنم
مشکل من اینجاست که من میخوام به عنوان مثال یکی از این کاراکترهارو پاک کنم و نمیدونم چی کار کنم
مثلا:

130410

من مثلا میخوام که [2,1]wordd حذف کنم.
میخوام سریعترین روشو معرفی کنید چون باید از این کد توو برنامم استفاده کنم

rahnema1
شنبه 29 فروردین 1394, 12:05 عصر
سلام
اگه بیشتر توضیح بدید شاید جواب مناسب تری بگیرید
به هر حال می تونید آرایه ای از StringBuilder درست کنید

InvBoy01001
شنبه 29 فروردین 1394, 12:17 عصر
سلام
اگه بیشتر توضیح بدید شاید جواب مناسب تری بگیرید
به هر حال می تونید آرایه ای از StringBuilder درست کنید
ببنید من یه جمله را در این متغییر به صورت کلمه به کلمه save کردم به این صورت که :
salam khubi
کلمه salam در [0,0]wordd
و کلمه khubi در [0,1]wordd
من میخوام مثلا [0,1]wordd حذف کنم

من راجب
StringBuilder هیچ اطلاعاتی ندارم ممنون میشم یه توضیح کوچیک بدید

asman.abi
شنبه 29 فروردین 1394, 12:39 عصر
سلام
من یه برنامه دارم مینویسم که نیاز دارم از یک string به عنوان آرایه 2 بعدی استفاده کنم
مشکل من اینجاست که من میخوام به عنوان مثال یکی از این کاراکترهارو پاک کنم و نمیدونم چی کار کنم
مثلا:

130410

من مثلا میخوام که [2,1]wordd حذف کنم.
میخوام سریعترین روشو معرفی کنید چون باید از این کد توو برنامم استفاده کنم

خیلی ساده به این صورت که ابتدا آرایه رو مقدار دهی می کنی مثلا در form load بعد برای یه شی مثلا button این جور می نویسی.
s[0, 1] = null;

اینو میشه خیلی بهتر و کاربردی تر کرد بر اساس نیاز شما. مثلا تو یه حلقه for آرایه مورد نظر را پیدا کرد بعد دستور ساده بالا رو به جای اون قرار داد با کنترل for. اگه بیشتر توضیح خواستی بگو :لبخندساده:

Mofid.m
شنبه 29 فروردین 1394, 13:00 عصر
چرا از لیست ها استفاده نمیکنی.
من فکر میکنم list بهتر بتونه مشکلتو حل کنه

rahnema1
شنبه 29 فروردین 1394, 13:39 عصر
ببنید من یه جمله را در این متغییر به صورت کلمه به کلمه save کردم به این صورت که :
salam khubi
کلمه salam در [0,0]wordd
و کلمه khubi در [0,1]wordd
من میخوام مثلا [0,1]wordd حذف کنم

من راجب
StringBuilder هیچ اطلاعاتی ندارم ممنون میشم یه توضیح کوچیک بدید

با این توضیحات ظاهرا StringBuilder برای اینجا کربرد نداره. اما مثلا اگه بخواهیم به یک رشته قسمتی حذف یا اضافه کنیم StringBuilder خیلی نسبت به string سریعتره
همون طور که یکی از دوستان اشاره کرد از list میتونید استفاده کنید یعنی وقتی دو بعدی شد مثلا لیست تو در تو استفاده بشه
مثلا مثال زیر یک لیست تو در تو را با مقادیر رشته پر می کنه و نهایتا عنصر 2,1 را نشون میده و سپس حذف می کنه

int satr = 24;
int sotton = 23;
List<List<string>> wordd = new List<List<string>>();
for (int i = 0; i < satr; i++) {
wordd.Add(new List<string>());
for (int j = 0; j < sotton; j++) {
wordd[i].Add("string" + i + j);
}
}
MessageBox.Show(wordd[2][1]);
wordd[2].RemoveAt(1);}

یا اصلا یک آرایه دو بعدی bool ایجاد کنید و عنصری که قراره از آرایه رشته حذف بشه را حذف نکنید فقط عنصر متناظر را در آرایه bool برابر با true کنید

string[,] wordd = new string[24,23];
bool[,] hazf = new bool[24,23];
hazf[2,1] = true;