1. 程式人生 > >.NET相關知識(二)

.NET相關知識(二)

  1. 資料結構(待補充)
  2. .NET中的數字(待補充)
  3. 日期時間
    public String store;
    public TimeZoneInfo tz;
    public TimeSpan open;
    public TimeSpan close;

    public bool IsOpenNow()
    {
        return IsOpenAt(DateTime.Now.TimeOfDay);
    }

    public bool IsOpenAt(TimeSpan time)
    {
        TimeZoneInfo
local = TimeZoneInfo.Local; TimeSpan offset = TimeZoneInfo.Local.BaseUtcOffset; // Is the store in the same time zone? if (tz.Equals(local)) { return time >= open & time <= close; } else { TimeSpan delta = TimeSpan.
Zero; TimeSpan storeDelta = TimeSpan.Zero; // Is it daylight saving time in either time zone? if (local.IsDaylightSavingTime(DateTime.Now.Date + time)) delta = local.GetAdjustmentRules()[local.GetAdjustmentRules().Length - 1].DaylightDelta; if
(tz.IsDaylightSavingTime(TimeZoneInfo.ConvertTime(DateTime.Now.Date + time, local, tz))) storeDelta = tz.GetAdjustmentRules()[local.GetAdjustmentRules().Length - 1].DaylightDelta; TimeSpan comparisonTime = time + (offset - tz.BaseUtcOffset).Negate() + (delta - storeDelta).Negate(); return comparisonTime >= open & comparisonTime <= close; } }
  1. 事件( EventArgs gg; IObservable 介面)
  2. 特型(待補充)
  3. 框架使用準則(省略)
  4. XML和其序列化(待補充)
  5. 二進位制序列化
        MyObject obj = new MyObject();
        obj.n1 = 1;
        obj.n2 = 24;
        obj.str = "Some String";
        IFormatter formatter = new BinaryFormatter();
        Stream stream = new FileStream("MyFile.bin", FileMode.Create, FileAccess.Write, FileShare.None);
        formatter.Serialize(stream, obj);
        stream.Close();

        //反序列化
        IFormatter formatter2 = new BinaryFormatter();
        Stream stream2 = new FileStream("MyFile.bin", FileMode.Open, FileAccess.Read, FileShare.Read);
        MyObject obj2 = (MyObject)formatter.Deserialize(stream);
        stream.Close();
        //序列化有4個回撥函式