[예제]델리게이트,람다식문자열정렬,뒤짚기,대문자변경

홈 > 공유팁! > 프로그램 관련
프로그램 관련

[예제]델리게이트,람다식문자열정렬,뒤짚기,대문자변경

꽁스짱 0 902

[예제]델리게이트,람다식문자열정렬,뒤짚기,대문자변경

소문자로 문자열을 입력받아 
    - 첫글자만 대문자로 변환 
    - 마지막 글자만 대문자로 변환 
    - 전체문자열을 대문자로 변환 
    - 문자열을 뒤짚기 
    - 문자열 내의 각 문자를 알파벳 순으로 오름차순 정렬 

델리게이트, 람다식를 이용하여 구현예제.


참고하세요

using System;
using System.Linq;

class Program
{
    delegate string MyStringDelidate(string s);

    static string UppercaseFirst(string s)
    {
        char[] buf = s.ToCharArray();
        buf[0] = char.ToUpper(buf[0]);
        return new string(buf);
    }

    static string UppercaseLast(string s)
    {
        char[] buf = s.ToCharArray();
        buf[buf.Length - 1] = char.ToUpper(buf[buf.Length - 1]);
        return new string(buf);
    }

    static string UppercaseAll(string s)
    {
        return s.ToUpper();
    }

    static string ReverseAll(string s)
    {
        char[] buffer = s.ToCharArray();
        return new String(buffer.Reverse().ToArray());
    }

    static string MySort(string s)
    {
        char[] buf = s.ToCharArray();
        Array.Sort<char>(buf);
        return new String(buf);
    }

    static void Output(string s, MyStringDelidate deli)
    {
        Console.Write("Before: {0}", s);
        Console.WriteLine(", After: {0}", deli(s));
    }

    static void Main()
    {
        Console.WriteLine("영문자 소문자로 입력하세요...");
        string str = Console.ReadLine();
        Console.WriteLine();

        Output(str, new MyStringDelidate(UppercaseFirst));
        Output(str, new MyStringDelidate(UppercaseLast));
        Output(str, new MyStringDelidate(UppercaseAll));
        Output(str, new MyStringDelidate(ReverseAll));
        Output(str, new MyStringDelidate(MySort));
    }
}


[결과]
영문자 소문자로 입력하세요...
hello

Before: hello, After: Hello
Before: hello, After: hellO
Before: hello, After: HELLO
Before: hello, After: olleh
Before: hello, After: ehllo


===============================================================


using System;
using System.Linq;

class Program
{
    delegate string MyStringDelidate(string s);

    static void Output(string s, MyStringDelidate deli)
    {
        Console.Write("Before: {0}", s);
        Console.WriteLine(", After: {0}", deli(s));
    }
    
    static void Main()
    {
        Console.WriteLine("영문자 소문자로 입력하세요...");
        string str = Console.ReadLine();
        Console.WriteLine();

        Output(str, s =>
                    {
                        char[] buf = s.ToCharArray();
                        buf[0] = char.ToUpper(buf[0]);
                        return new string(buf);
                    });

        Output(str, s => 
                    {
                        char[] buf = s.ToCharArray();
                        buf[buf.Length - 1] = char.ToUpper(buf[buf.Length - 1]);
                        return new string(buf);
                    });

        Output(str, s =>
                    {
                        return s.ToUpper();
                    });

        Output(str, s =>
                    {
                        char[] buffer = s.ToCharArray();
                        return new String(buffer.Reverse().ToArray());
                    });

        Output(str, s => 
                    {
                        char[] buf = s.ToCharArray();
                        Array.Sort<char>(buf);
                        return new String(buf);
                    });
    }
}


[결과]
영문자 소문자로 입력하세요...
korea

Before: korea, After: Korea
Before: korea, After: koreA
Before: korea, After: KOREA
Before: korea, After: aerok
Before: korea, After: aekor
 
0 Comments
제목