C# 공부 #2

jinatra·2022년 8월 20일

C#

목록 보기
2/2
post-thumbnail

2. TryParse() 메서드

T문자열 표현을 해당하는 형 으로 변환한다. 반환 값은 변환의 성공 여부를 나타낸다.
변환의 성공 여부를 true 와 false 값을 반환

// TryParse() 예시

string msg1 = "123";
string msg2 = "hey";

int value = 0;

bool output1 = int.TryParse(msg1, out value);
bool output2 = int.TryParse(msg2, out value);

Console.WriteLine(output1); //True
Console.WriteLine(output2); // False

msg1은 정수로 변환이 성공했기에 True 출력
msg2는 정수로 변환이 실채했기에 False 출력

실습

string[] values = { "12.3", "45", "ABC", "11", "DEF" };

비즈니스 규칙:
규칙 1: 값이 영숫자이면 연결하여 메시지를 만듭니다.
규칙 2: 값이 숫자이면 합계에 더합니다.
규칙 3: 결과가 다음 출력과 일치해야 합니다.

Message: ABCDEF
Total: 68.3
// my Solution

string[] value = {"12.3", "45", "ABC", "11", "DEF"};

int valueLength = value.Length;

double outDouble = 0;
string outMessage = "";

double total = 0;
string message = "";

for(int i = 0 ; i < valueLength; i++)
{
    if (double.TryParse(value[i], out outDouble) == true)
    {
        total += outDouble;
    }
    else
    {
        message += value[i];
    }
}

Console.WriteLine($"Message: {message}");
Console.WriteLine($"Total: {total}");
// MS  Solution

string[] values = { "12.3", "45", "ABC", "11", "DEF" };

decimal total = 0m;
string message = "";

foreach (var value in values)
{
    decimal number;
    if (decimal.TryParse(value, out number))
    {
        total += number;
    } else
    {
        message += value;
    }
}

Console.WriteLine($"Message: {message}");
Console.WriteLine($"Total: {total}");

큰 차이는 없다.


배열 공부

실습

다음 코드 줄로 시작합니다.

string pangram = "The quick brown fox jumps over the lazy dog";

각 단어의 문자를 역방향으로 정렬하는 데 필요한 코드를 작성하고 결과를 표시한다. 즉, pangram 변수의 모든 문자만 역방향으로 정렬하면 안된다. 대신, 각 단어의 문자를 역방향으로 정렬할 뿐 아니라 메시지의 원래 위치에서 역방향 정렬된 단어를 인쇄

성공하면 다음 출력 표시

ehT kciuq nworb xof spmuj revo eht yzal god
// MS Solution

string pangram = "The quick brown fox jumps over the lazy dog";

string[] message = pangram.Split(' ');
string[] newMessage = new string[message.Length];


for (int i = 0; i < message.Length; i++)
{
    char[] letters = message[i].ToCharArray();
    Array.Reverse(letters);
    newMessage[i] = new string(letters);
}

string result = String.Join(" ", newMessage);
Console.WriteLine(result);
profile
으악

0개의 댓글