PDA

View Full Version : سوال: شیفت به سمت راست در List



NasimBamdad
پنج شنبه 07 فروردین 1393, 07:05 صبح
سلام و خسته نباشید

یک سوالی داشتم . فرض کنیم ما یک List تعریف کردیم به صورت زیر


List<string> lines = new List<string>();


حالا یک سری مقادیر هم داخل این لیست داریم


lines.Add("");
lines.Add(code);
lines.Add(dt);
lines.Add("");
lines.Add("");
lines.Add("");
lines.Add("");
lines.Add("");


این لیست ما 8 تا Element داره . یعنی 8 خط یا 8 خونه داره .

اگه ما بخوایم از خونه مثلا 5 ام به سمت راست ( یعنی 5 و 6 و 7 و 8 ) یک خونه Shift کنیم . یعنی بین 5 و 6 یه خونه جدید درست کنیم چه کار باید کرد ؟

بگیم مثلا خونه آخرین یکی به سمت جلو بره و بقیه هم پشت سرش تا خونه 5 ام

آیا این امکان پذیر هست!؟ از آرایه نشد استفاده کنم چون طول مقادیر ما مشخص نیست و نمی تونیم از آرایه استفاده کنیم

hadi0x7c7
پنج شنبه 07 فروردین 1393, 12:55 عصر
شما میتونید از LinkedList استفاده کنید:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
LinkedList<string> myList = new LinkedList<string>();
myList.AddLast("1");
myList.AddLast("2");
myList.AddLast("4");

foreach (string s in myList)
{
Console.WriteLine(s);
}

Console.WriteLine();
myList.AddBefore(myList.Find("4"), "3");


foreach (string s in myList)
{
Console.WriteLine(s);
}

}
}
}

NasimBamdad
پنج شنبه 07 فروردین 1393, 14:11 عصر
ممنونم بسیار کارامد و راحت بود

به راحتی میشه با آیتم ها بازی کد . ممنونم

Mahmoud.Afrad
پنج شنبه 07 فروردین 1393, 20:36 عصر
از متد Insert استفده کن:
lines.Insert(4, "new item");