سلام وقتتون بخیر
فرق بین خروجی و نحوه عملکرد First() و select() در زبان linq چی هست؟
سلام دوست من وقتتون بخیر
ببینید دوست عزیز شما با استفاده از متد first اولین ایتم رو میتونید بدست بیارید حالا میتونید این اولین ایتم رو با استفاده از یک شرط خاص بدست بیارید
در مورد متد select شما میتونید از اطلاعات خودتون فقط اون ستون هاییش رو انتخاب کنید که نیاز دارید مثلا اگر شما ده تا ستون دارید میتونید با استفاده از این متد 3 تا از ستون هارو انتخاب کنید
فرض كنيد كد زير رو داريم:
public class Item
{
public int Id { get; set; }
public decimal Price { get; set; }
}
public class Sample
{
public Sample()
{
List<Item> items = new List<Item>()
{
new Item()
{
Id = 1,
Price = 100
},
new Item()
{
Id = 2,
Price = 200
},
new Item()
{
Id = 3,
Price = 300
}
};
var resultFirst = items.First();
var resultSelect = items.Select(item => item.Id);
}در كد بالا ليستي از جنس Item درست كرديم تا بتونيم عمليات linq رو روي اون پيداسازه كنيم.
با نوشتن First يدونه عنصر از جنس Item براي ما توليد ميشه. از اسمش هم معلومه "اولي رو بده".
يعني ليستي از جنس Item داشتيم حالا فقط يدونه Item تك داريم.
خروجي:
var resultFirst = items.First();
/// output: Item
با نوشتن Select ميتونيم چند تا ستون دلخواه انتخاب كنيم
مثلا اينجا ميخوام بگم كل ستون هاي به اسم Id رو بده
براي اين كار كد زير رو نوشتم:
خروجي:
var resultSelect = items.Select(item => item.Id);
/// output: IEnumerable<Int>در اينجا ميبينيم كه ليستي جنريك با نوع Int توليد شده
چون گفته بوديم فقط ستون Id هارو ميخوايم.
براي اين كه ستون هاي بيشتري انتخاب كنيم ميتونيم از كد زير استفاده كنيم:
var resultSelectMany = items.Select(item => new { item.Id, item.Price });
/// output: IEnumerable< new {Int , Decimal} >توي اين كد 2 تا ستون انتخاب كرديم يعني خروجي ما ليست دو ستونه ميشه.