2019년 3월 9일 토요일

람다식,LINQ 연습문제

1.람다식을 사용해 다음과 같은 코드를 작성합시다.
var numbers = new List<int> { 12, 87, 94, 14, 53, 20, 40, 35, 76, 91, 31, 17, 48 };


2.List<T>의 ForEach 메서드를 사용해 각 요소를 2.0으로 나눈 값을 콘솔에 출력합니다.

 //numbers.ForEach(s => Debug.Log("value :"+ s/2f));

3.LINQ의 Where 매서드를 사용해 값이 50이상인 요소를 열거하고 그 결과를 콘솔에 출력합니다.

//var query = numbers.Where(s => s > 50);
//foreach (int val in query)
//    Debug.Log("vale:" + val);

4.LINQ의 Select 매서드를 사용해 각 값을 2배로 만들고 그 결과를 List<int>에 저장합니다.
그리고 List<int>의 각 요소를 콘솔에 출력합니다.

        var query2 = numbers.Select(s => s * 2);
        List<int> tmp = new List<int>(query2);
        foreach (int val in tmp)
             Debug.Log("value: " + val);

다음과 같은 리스트가 정의돼 있습니다.
var names = new List<string>
        {
            "Seoul","New Delhi","Bangkok","London","Paris", "Berlin","Canberra","Hong Kong",
        };


1.콘솔의 입력을 받아 도시 이름이 몇번째에 저장돼 있는지 List<T>의 FindIndex를 이용해 return 하는 함수를 짜라 없으면 -1

public int GetIndex(string Cityname)
    {
        var names = new List<string>
        {
            "Seoul","New Delhi","Bangkok","London","Paris", "Berlin","Canberra","Hong Kong",
        };

        int result =-1;

        result = names.FindIndex(s => s == Cityname);

        return result;
    }

2.LINQ의 Count 메서드를 사용해 소문자'o'가 포함된 도시 이름이 몇 개 있는지 세고 그 결과를 콘솔에 출력합니다
.
var Query = names.Count(s => s.Contains("o"));
        Debug.Log("Value" + Query);

3.LINQ의 Where 메서드를 사용해 소문자'o'가 포함된 도시 이름을 추출해서 배열에 저장합니다. 그리고 배열의 각 요소를 콘솔에 출력합니다.

var query2 = names.Where(s => s.Contains("o")).ToArray();
        foreach (string val in query2)
            Debug.Log("value :" + val);

4.LINQ의 Where 메서드와 Select 메서드를 사용해"B"로 시작하는 도시 이름의 문자 개수를 추출하고 그 문자 개수를 콘솔에 출력합니다. 도시 이름은 표시하지 않아도 됩니다.

 var query3 = names.Where(s => s.StartsWith("B")).Select(s => s.Length);
        foreach (var val in query3)
            Debug.Log("value :" + val);







댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...