Latest

健康檢查

最近做了健康檢查,以下是快速筆記: 繳交糞檢 尿檢 血液 (裝成三瓶) 心臟 (貼至少十個貼片,然後分別連接上管子) X光 (正面、側面) 肛門 身高和體重、體脂肪和骨頭密度等等、視力、辨色力、眼壓 照胃鏡前 (右手注射葡萄糖並留著注射器、喝胃乳、嘴巴噴麻藥兩次:一次先吞下去、之後含一下吞下去、側躺在闖上戴上呼吸器、右手注射麻藥時痛痛的)

Template之標籤取代

using System;
using System.Reflection;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Hello! This is {Student.Name}. My ID is {Student.ID}.";
            //string str2 = "你好!我是{Student.Name},我的ID為{Student.ID}。";
            int size = 0;

            Student std = new Student();
            std.Name = "Tim";
            std.ID = "44123";


            string[] temp = str.Split(' ');//以空白做分界來切割

            //算出有幾個標籤
            foreach (string a in temp)
            {
                //Console.Write(a + "\n");
                if (a.IndexOf('{') != -1)
                    size++;
            }

            string[] token = new string[size];
            int count = 0;

            //把標籤拿出來並存入陣列
            for (int i = 0; i < temp.Length; i++)
            {
                if (temp[i].IndexOf('{') != -1)
                {
                    token[count] = temp[i].Substring(0, temp[i].IndexOf('}') + 1);
                    count++;
                }
            }

            //取物件的值
            Type myType = typeof(Student);
            PropertyInfo[] prop = myType.GetProperties();

            count = 0;

            //把標籤取代為值
            foreach (var p in prop)
            {
                str = str.Replace(token[count], (string)p.GetValue(std));
                count++;
            }

            Console.Write(str);
            Console.Read();
        }
    }

    class Student
    {
        public string Name { get; set; }
        public string ID { get; set; }
    }

留言

這個網誌中的熱門文章

公司職務 × 英文縮寫 × 中文對照 (2023.04.21 更新)

健康檢查

【Unity】TextMesh Pro 顯示中文