728x90
반응형
WPF & C# - 학교종이땡땡땡 비프음으로 출력하기 - Key Value (키 값) 매칭하는 3가지 방법 Beep Sound |
// 학교종이땡땡땡 비프음으로 출력하기 - Key Value (키 값) 매칭하는 3가지 방법
// String
private void btnString_Click(object sender, RoutedEventArgs e)
{
string str = "도레미파솔라시또";
int[] arrBeep = { 261, 293, 329, 349, 392, 440, 493, 523 };
lbl.Content = "";
char[] chrNotes = tbxNote.Text.ToArray();
foreach (char chrNote in chrNotes)
{
int idx = str.IndexOf(chrNote);
if(idx >= 0) // 예외처리 : 일치하는 값이 없으면 -1 이 된다.
{
Console.Beep(arrBeep[idx], 300);
}
}
}
// Arrary
private void btnArray_Click(object sender, RoutedEventArgs e)
{
string[] arrStr = { "도", "레", "미", "파", "솔", "라", "시", "또" };
int[] arrBeep = { 261, 293, 329, 349, 392, 440, 493, 523 };
lbl.Content = "";
char[] chrNotes = tbxNote.Text.ToArray();
foreach (char chrNote in chrNotes)
{
int idx = Array.IndexOf(arrStr, chrNote.ToString());
if (idx >= 0) // 예외처리 : 일치하는 값이 없으면 -1 이 된다.
{
Console.Beep(arrBeep[idx], 300);
}
}
}
// Dictionary
private void btnDictionary_Click(object sender, RoutedEventArgs e)
{
Dictionary<string, int> dic = new Dictionary<string, int>()
{
{"도", 261},
{"레", 293},
{"미", 329},
{"파", 349},
{"솔", 392},
{"라", 440},
{"시", 493},
{"또", 523},
};
lbl.Content = "";
char[] chrNotes = tbxNote.Text.ToArray();
int i = 0;
foreach (char chrNote in chrNotes )
{
if(dic.TryGetValue(chrNote.ToString(),out i)) // 예외처리 : out 을 쓰면 해당 값이 없는 경우 생략한다.
{
Console.Beep(i, 300);
}
}
}
728x90
반응형