C# 연습문제 : LINQ (뇌를 자극하는 C# 5.0)
2022. 9. 25. 19:50ㆍ문제/C# 연습문제
1.다음과 같은 배열이 있다고 할 때, Cost는 50이상 , MaxSpeed는 150 이상인 레코드만 조회하는 LINQ를 작성하세요.
public class Car
{
public int Cost { get; set; }
public int MaxSpeed { get; set; }
}
Car[] cars =
{
new Car(){Cost=56,MaxSpeed = 120 },
new Car(){Cost=70,MaxSpeed = 150 },
new Car(){Cost=45,MaxSpeed = 180 },
new Car(){Cost=32,MaxSpeed = 200 },
new Car(){Cost=82,MaxSpeed = 280 },
};
var selected = /* Cost가 50 이상, MaxSpeed는 150 이상인 레코드를 조회하는 LINQ*/;
using System;
using System.Linq;
namespace BookTestC
{
public class Car
{
public int Cost { get; set; }
public int MaxSpeed { get; set; }
}
public class Program
{
private static void Main(string[] args)
{
Car[] cars =
{
new Car() { Cost = 56, MaxSpeed = 120 },
new Car() { Cost = 70, MaxSpeed = 150 },
new Car() { Cost = 45, MaxSpeed = 180 },
new Car() { Cost = 32, MaxSpeed = 200 },
new Car() { Cost = 82, MaxSpeed = 280 },
};
var selected = from car in cars
where car.Cost >= 50
where car.MaxSpeed >= 150
select car;
Console.WriteLine("코스트가 50이상 이고 최대속도가 150이상인 것들을 출력합니다.");
foreach (var car in selected)
{
Console.WriteLine("코스트 : {0} , 최대속도 : {1}", car.Cost, car.MaxSpeed);
}
}
}
}
2.다음 코드에서 cars.Where(c=>c.Cost <60).OrderBy(c=>c.Cost)와 동일한 결과를 반환하는 LINQ를 작성하세요.
public class Car
{
public int Cost { get; set; }
public int MaxSpeed { get; set; }
}
Car[] cars =
{
new Car(){Cost=56,MaxSpeed = 120 },
new Car(){Cost=70,MaxSpeed = 150 },
new Car(){Cost=45,MaxSpeed = 180 },
new Car(){Cost=32,MaxSpeed = 200 },
new Car(){Cost=82,MaxSpeed = 280 },
};
var selected =cars.Where(c=>c.Cost<60).OrderBy(c=>c.Cost);
var selected = from car in cars
where car.Cost < 60
orderby car.Cost
select car;
'문제 > C# 연습문제' 카테고리의 다른 글
C# 연습문제 : 람다식 (뇌를 자극하는 C#5.0) (1) | 2022.09.21 |
---|---|
C# 연습문제 : 델리게이트와 이벤트 (뇌를 자극하는 C# 5.0) (0) | 2022.09.20 |
C# 연습문제 : 일반화 프로그래밍 , 예외처리 (뇌를 자극하는 C# 5.0) (1) | 2022.09.19 |
C# 연습문제 : 배열,컬렉션 (뇌를 자극하는 C# 5.0) (0) | 2022.09.18 |
C# 연습문제 : 프로퍼티 (뇌를 자극하는 C# 5.0) (0) | 2022.09.17 |