프로그래밍/C#

sample #2 .. No 2

mi-nos 2025. 5. 31. 23:53

 

VARIABLE.TXT

id#100a
data#data0001

 

STATE.TXT

create#action#http://127.0.0.1:8011/create#id
add#action#http://127.0.0.1:8012/add#id,data
fetch#action#http://127.0.0.1:8013/fetch#

const string cStateFile = "STATE.TXT";
        const string cVariableFile = "VARIABLE.TXT";

        static void Main(string[] args)
        {
            Dictionary<string, string> Variable = new Dictionary<string, string>();
            Dictionary<string, string> State = new Dictionary<string, string>();

            // Variable 파싱
            foreach (var line in File.ReadAllLines(cVariableFile))
            {
                var str = line.Split('#');
                var name = str[0];
                var value = str[1];
                Variable[name] = value;
            }

            // State 파싱
            foreach (var line in File.ReadAllLines(cStateFile))
            {
                var str = line.Split('#');
                var name = str[0];
                var action = str[1];
                var url = str[2];
                var vars = str[3].Split(',').ToList();
                if (vars[0] == "") vars.Clear();    // Parameter 없는 경우 clear
                var query = vars.Select(t => t += "=" + Variable[t]);
                if (vars.Count > 0)
                {
                    State[name] = action + " " + url + "?" + string.Join("&", query);
                }
                else
                {
                    State[name] = action + " " + url;
                }
            }

            string cmd;
            while ((cmd = Console.ReadLine()) != null)
            {
                Console.WriteLine(State[cmd]);
            }