การแสดง AssemblyVersion

AssemblyName.Version Property

ค่า AssemblyVersion กำหนดได้ทีไฟล์ Properties > AssemblyInfo.cs

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("The version of the currently executing assembly is: {0}",
               typeof(Program).Assembly.GetName().Version);
            // The version of the currently executing assembly is: 1.1.0.0
        }
    }
}

การใช้งาน Newtonsoft.Json

  1. การติดตั้ง Newtonsoft.Json
  2. การ Serialize และ Deserialize – Object
  3. การ Serialize และ Deserialize – Collection
  4. การ Serialize และ Deserialize – Dictionary
  5. การ Serialize และ Deserialize – DataSet
  6. การ Serialize และ Deserialize – DataTable
  7. การ Deserialize – Anonymous Type
Continue reading

การใช้ Apache log4net™

  1. ติดตั้ง log4net ผ่าน NuGet
  2. สร้างไฟล์ log4net.config
  3. บอก log4net ให้โหลดไฟล์คอนฟิก
  4. เพิ่มโค๊ดที่ Program.cs
  5. การกำหนดชื่อไฟล์ log เป็น ปี เดือน วัน
  6. การเก็บ log แบบ indent
  7. log4net levels
  8. log ชื่อเพจที่กำลังทำงาน (ASP.NET)
Continue reading

การแปลงพิกัดละติจูด และลองจิจูด

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp5
{
    class Program
    {
        static void Main(string[] args)
        {
            double lat = 38.89861;
            Console.WriteLine("{0} > {1}", lat, ConvertDoubleToDegreeAngleLat(lat));
            double lon = -76.96222;
            Console.WriteLine("{0} > {1}", lon, ConvertDoubleToDegreeAngleLon(lon));

            double degrees;
            double minutes;
            double seconds;
            string dir;

            Console.WriteLine();

            degrees = 38;
            minutes = 53;
            seconds = 55.0;
            dir = "N";
            Console.WriteLine("{0} {1} {2} {3} > {4:f5}", degrees, minutes, seconds, dir, ConvertDegreeAngleToDouble(degrees, minutes, seconds, dir));
            degrees = 76;
            minutes = 57;
            seconds = 44.0;
            dir = "W";
            Console.WriteLine("{0} {1} {2} {3} > {4:f5}", degrees, minutes, seconds, dir, ConvertDegreeAngleToDouble(degrees, minutes, seconds, dir));
        }

        public static string ConvertDoubleToDegreeAngleLat(double doubleDegrees)
        {
            string dir = (doubleDegrees >= 0 ? "N" : "S");
            return ConvertDoubleToDegreeAngle(doubleDegrees, dir);
        }
        public static string ConvertDoubleToDegreeAngleLon(double doubleDegrees)
        {
            string dir = (doubleDegrees >= 0 ? "E" : "W");
            return ConvertDoubleToDegreeAngle(doubleDegrees, dir);
        }
        public static string ConvertDoubleToDegreeAngle(double doubleDegrees, string dir)
        {
            doubleDegrees = Math.Abs(doubleDegrees);
            double latMinPart = ((doubleDegrees - Math.Truncate(doubleDegrees) / 1) * 60);
            double latSecPart = ((latMinPart - Math.Truncate(latMinPart) / 1) * 60);

            double degrees = Math.Truncate(doubleDegrees);
            double minutes = Math.Truncate(latMinPart);
            double seconds = latSecPart;

            return string.Format("{0} {1} {2} {3}", degrees, minutes, seconds.ToString("#.0"), dir);
        }

        public static double ConvertDegreeAngleToDouble(double degrees, double minutes, double seconds, string dir)
        {
            //Decimal degrees = 
            //   whole number of degrees, 
            //   plus minutes divided by 60, 
            //   plus seconds divided by 3600

            int multiplier = (dir == "S" || dir == "W") ? -1 : 1; //handle south and west
            return (degrees + (minutes / 60) + (seconds / 3600)) * multiplier;
        }
    }
}
Posted in C#