[예제]델리게이트,람다식문자열정렬,뒤짚기,대문자변경
꽁스짱
C#
0
901
2021.02.15 23:23
[예제]델리게이트,람다식문자열정렬,뒤짚기,대문자변경
소문자로 문자열을 입력받아
- 첫글자만 대문자로 변환
- 마지막 글자만 대문자로 변환
- 전체문자열을 대문자로 변환
- 문자열을 뒤짚기
- 문자열 내의 각 문자를 알파벳 순으로 오름차순 정렬
델리게이트, 람다식를 이용하여 구현예제.
참고하세요
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