PDA

View Full Version : دستور جستجو در ارایه c#



apple57
دوشنبه 03 تیر 1392, 18:26 عصر
سلام دوستان من یکarraylistساختم با دستورات linqدر آن جستجو کردم و چند رکورد را فیلتر نمودم می خواهم مقادیر این رکوردها را عوض کنم از چه دستوری استفاده کنم var lst = from x in lstCar
where x.price>350000

select new { x.name{
در این دستور بالا می خواهم جاهایی که قیمت بیشتر از 350000است نامش را عوض کنم این دستور باید کجا بنویسم ممنون می شم بهم کمک کنید و کدش را بهم بگین

Mahmoud.Afrad
دوشنبه 03 تیر 1392, 18:54 عصر
با یک حلقه این کارو انجام بدید.
var result = from x in lstCar
where x.price > 350000
select x;

foreach (var item in result)
{
item.name = "your text";
}

apple57
دوشنبه 03 تیر 1392, 23:27 عصر
سلام دوست عزیز شما گفتید با دستور زیر جاهایی که قیمت بالای 350000است نامش تغییر کند این تغییر در آرایه جدید resultصورت می گیرد و نام در آرایه اصلی تغییر نمی کند من می خواهم این تغییر در آرایه اصلی باشه امکان داره ؟ تشکر
1
2
3
4
5
6
7
8
var result = from x in lstCar
where x.price > 350000
select x;

foreach (var item in result)
{
item.name = "your text";

Mahmoud.Afrad
سه شنبه 04 تیر 1392, 00:12 صبح
از لیست استفاده کنید.

class car
{
public int price { get; set; }
public string name { get; set; }
}
private void button2_Click(object sender, EventArgs e)
{
List<car> lstCar = new List<car>();
lstCar.Add(new car() { price = 200000, name = "1" });
lstCar.Add(new car() { price = 450000, name = "2" });
var result = from x in lstCar
where x.price > 350000
select x;

foreach (var item in result)
{
item.name = "your text";
}

dataGridView1.DataSource = lstCar;
}

apple57
سه شنبه 04 تیر 1392, 02:09 صبح
class car
{
public int price { get; set; }
public string name { get; set; }
}
private void button2_Click(object sender, EventArgs e)
{
List<car> lstCar = new List<car>();
lstCar.Add(new car() { price = 200000, name = "1" });
lstCar.Add(new car() { price = 450000, name = "2" });
var result = from x in lstCar
where x.price > 350000
select x;

foreach (var item in result)
{
item.name = "your text";
}

dataGridView1.DataSource = lstCar;
}در این برنامه مقدار lstcar.nameهمان 2 مانده و تغییر نکرده من می خوام lstcar.nameبه مقدار "your test تغییر کند

apple57
سه شنبه 04 تیر 1392, 02:41 صبح
بسیار متشکرم

مهدی هادیان2
سه شنبه 04 تیر 1392, 06:49 صبح
بسم الله الرحمن الرحیم

class car
{
public int price { get; set; }
public string name { get; set; }
}
private void button2_Click(object sender, EventArgs e)
{
List<car> lstCar = new List<car>();
lstCar.Add(new car() { price = 200000, name = "1" });
lstCar.Add(new car() { price = 450000, name = "2" });
var result = from x in lstCar
where x.price > 350000
select x;

foreach (var item in result)
{
item.name = "your text";
}

dataGridView1.DataSource = lstCar;
}در این برنامه مقدار lstcar.nameهمان 2 مانده و تغییر نکرده من می خوام lstcar.nameبه مقدار "your test تغییر کند
با سلام
بنده کدی که دوستمون در تاپیک 4 گذاشته بودند رو اجرا کردم و مقدار name رو تغییر داد.
موفق باشید.