C# ʷ ѱ ˻(ʼ ) [Step by Step] ع MVP
(mailto:bak9899@naver.com)
ۼǾϴ. ع MVP ϴ? α
(http://vsto.tistory.com/)
Microsoft ǰ İ Ͻñ ٶϴ. ǥ ǥ Ȯ | Microsoft MVP(Most Valuable Professionals) ְ μ, Ŀ´Ƽ Ȱ ٸ ڵ Դϴ. |
| ǵ C# ⺻ ϴ AutoComplete(ڵ ϼ) ѱ ʼ ˻ Ǵ ƽ ֽϴ. ͳ ˻ ϴ AutoComplete(ڵ ϼ) ʼ Ӹ ƴ϶ Ǽ ڵ ϼ Ʈ մϴ. ̷ Ʈ ϴ 鿡 C# AutoComplete ణ ƽ Ͽ, κп α մϴ. | ǵ
- ѱ ʼ, , ϴ.?
-ʼ: (19) -: ¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤ (21) - : , (28)
- ϼ ڸ Ʒ ϴ.
ʼ) + ) + ) 28 ->
ʼ) + ) 21 + ) 28 ->
ʼ)19 + ) 21 + ) 28
e.g) -> -> A -> B. -> -> K ..R
- ' ڵ 44032 ϸ 587 ϸ ɴϴ(588 ϸ ʼ ɴϴ).
- Ʒ ڵ Դϴ
class Program
{
static void Main(string[] args)
{
int x = 44032;
for (int i = 1; i <= 21; i++)
{
for (int j = 1; j <= 28; j++)
{
Console.Write("{0} : {1}", x, (char)x);
x++;
}
Console.WriteLine();
}
}
} ?
| ǵ - ?' 1' ʸ ٷ ణ ؼ '' Է '' Է Ͽ ؾ մϴ.
- ʼ Է chr ε ã str ε ü
e.g) '' Է ȯ ?
?'' Է
char[] chr = { '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '','','', '', '' };
string[] str = { "", "", "", "", "", "", "", "", "", "", "",
"", "", "¥", "","ī","Ÿ", "", "" };
string x = Console.ReadLine();
string temp = "";
for (int i = 0; i < x.Length; i++)
{
if (x[i] < (char)43032)
{
for (int j = 0; j < chr.Length; j++)
{
if (x[i] == chr[j])
{
temp += str[j];
}
}
}
else
{
temp += x[i];
}
}
Console.WriteLine(temp); ȭ :Է ϸ ݴϴ.
- Regex˻ մϴ.
- '' Էϸ - ˻ ؾ մϴ.
- '' Էϸ ʼ ƴϱ ״ '' temp ֽϴ.
int[] chrint = {44032,44620,45208,45796,46384,46972,47560,48148,48736,49324,49912,
50500,51088,51676,52264,52852,53440,54028,54616,55204};
string x = Console.ReadLine();
string temp = "";
for (int i = 0; i < x.Length; i++)
{
if (x[i] < '')
{
for (int j = 0; j < chr.Length; j++)
{
if (x[i] == chr[j])
{
temp += "[" + x[j] + "-" + (char)(chrint[j + 1] - 1) + "]";
}
}
}
else
{
temp += x[i];
}
}
- linq regex ̿ؼ ˻ մϴ.
var query = list.Where(e => Regex.IsMatch(e.ToString(),temp));
foreach (var c in query)
{
Console.WriteLine(c);
}
| ǵ - ü ҽ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace searchHan
{
class Program
{
static void Main(string[] args)
{
char[] chr = { '', '', '', '', '', '', '', '', '', '', '',
'', '', '', '','','', '', '' };
string[] str = { "", "", "", "", "", "", "", "", "", "", "",
"", "", "¥", "","ī","Ÿ", "", "" };
int[] chrint = {44032,44620,45208,45796,46384,46972,47560,48148,48736,49324,49912,
50500,51088,51676,52264,52852,53440,54028,54616,55204};
List<string> list = new List<string>();
list.AddRange(new List<string> { "ó", "ҳ", "", "ȫ", "ûdz", "ȫdz","⳪","","","ݼ"});
string x = Console.ReadLine();
string pattern = "";
for (int i = 0; i < x.Length; i++)
{
if (x[i] >= '' && x[i] < '')
{
for (int j = 0; j < chr.Length; j++)
{
if (x[i] == chr[j])
{
pattern += "[" + str[j] + "-" + (char)(chrint[j + 1] - 1) + "]";
//pattern += string.Format("[{0}-{1}]", str[j], (char)(chrint[j + 1] - 1));
}
}
}
else
{
pattern += x[i];
}
}
var res = list.Where(e => Regex.IsMatch(e.ToString(),pattern));
foreach (var c in res)
{
Console.WriteLine(c);
}
Console.WriteLine(pattern);
}
}
} ȭ
- C# ణ Linq + Regex ʼ ˻ Ͽ ٷýϴ. ణ ǹ ߰Ͻø ̶ ˴ϴ. ణ ڵ带 غҽϴ.?
for (int i = 0; i < x.Length; i++)
{
//ʼ ԷµǾ
if (x[i] >= '' && x[i] <= '')
{
for (int j = 0; j < chr.Length; j++)
{
if (x[i] == chr[j])
{
pattern += string.Format("[{0}-{1}]", str[j], (char)(chrint[j + 1] - 1));
}
}
}
//ϼ ڸ Է ˻
else if(x[i] >= '')
{
//ħ ִ ˻
int magic = ((x[i] - '') % 588);
//ħ .
if (magic == 0)
{
pattern += string.Format("[{0}-{1}]", x[i], (char)(x[i] + 27));
}
//ħ
else
{
magic = 27 - (magic % 28);
pattern += string.Format("[{0}-{1}]", x[i], (char)(x[i] + magic));
}
}
// Է
else if (x[i] >= 'A' && x[i] <= 'z')
{
pattern += x[i];
}
//ڸ Է.
else if( x[i] >= '0' && x[i] <= '9')
{
pattern += x[i];
}
}
| ǵ | ǵ ǥ ǥ Ȯ | Microsoft Ʈ Ҹ ʹ ϴ. Ʒ ǰ ǰ ֽñ ٶϴ. |
| ǵ Microsoft Corporation /Ǵ ڴ ε ִ ռ, Ǵ Ȯ ʽϴ. ̷ "ִ ״" ˴ϴ. Microsoft /Ǵ ڴ ǰ, Ư ռ, , ǰ ħؿ Ͽ ȿ մϴ. Microsoft /Ǵ ڴ 쿡 Ե Ǵ ϴ , , ¡, μ, Ư Ǵ Ÿ (, Ǵ ս Ÿ ս ϵ ̿ ѵ ) , ҹ , , å ̵ å ̴ Microsoft Ǵ ڰ ɼ ˰ ִ 쿡 մϴ. | ǵ ڷ: 2701840 - : 2012 6 1 ݿ - : 1.1 ǰ ˴ϴ.- Microsoft Visual C# 2010 Express
| kbstepbystep kbmvp kbcommunity KB2701840 |
| ǵ | |