C# ʷ ѱ ˻(ʼ ) [Step by Step]

ڷ: 2701840 - Ǵ ǰ .
׸ ׸ Ȯ
Step by Step ڷ
Ȯ |

Ұ

ع MVP ۼǾϴ. ع MVP ϴ?α Microsoft ǰ İ Ͻñ ٶϴ.
ǥ ǥ Ȯ
׸ ׸ Ȯ
Microsoft MVP(Most Valuable Professionals) ְ μ, Ŀ´Ƽ Ȱ ٸ ڵ ׷Դϴ.

Ұ

C# ⺻ ϴ AutoComplete(ڵ ϼ) ѱ ʼ ˻ Ǵ ƽ ֽϴ. ͳ ˻ ϴ AutoComplete(ڵ ϼ) ʼ Ӹ ƴ϶ Ǽ ڵ ϼ Ʈ մϴ. ̷ Ʈ ϴ 鿡 C# AutoComplete ణ ƽ Ͽ, κп α׷ մϴ.


1: ڵ忡 Ͽ

  1. ѱ ʼ, ߼, ϴ.?
    -ʼ: (19)
    -߼: ¤äĤŤƤǤȤɤʤˤ̤ͤΤϤФѤҤ (21)
    - : , (28)
  2. ϼ ڸ Ʒ ϴ.

    ʼ) + ߼) + ) 28 ->

    ʼ) + ߼) ߼ 21 + ) 28 ->

    ʼ)19 + ߼) ߼ 21 + ) 28

    e.g) -> -> A -> B. -> -> K ..R
  3. ' ڵ 44032 ϸ 587 ϸ ɴϴ(588 ϸ ʼ ɴϴ).
  4. Ʒ ڵ Դϴ
     
    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();                                            
                }
            }
        }

    ?
    ׸ ׸ Ȯ




2: Regex ˻

  1. ?' 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);

    ȭ :Է ϸ ߼ ݴϴ.
    ׸ ׸ Ȯ


    ׸ ׸ Ȯ
  2. 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];
                    }
                }

  3. linq regex ̿ؼ ˻ մϴ.
     
    var query = list.Where(e => Regex.IsMatch(e.ToString(),temp));
     
                foreach (var c in query)
                {
                    Console.WriteLine(c);
                }    


3:?ڵ ϼ

  1. ü ҽ
     
    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);
            }
        }
    }
    ȭ
    ׸ ׸ Ȯ
  2. 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

ǵ