DsJian.Interface/Model/ArchiveData.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

// ================================================
// ArchiveData.cs, 存档日期实体,用于URL构建于验证
// Copyright (C) 2010 Benking
// mail:ben.wangzj@gmail.com
// website:http://www.dsjian.com/
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// ================================================

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace DsJian.Interface.Model
{
    /// <summary>
    /// 存档日期实体,用于URL构建于验证
    /// </summary>
    public class ArchiveData : IEquatable<ArchiveData>, IComparable<ArchiveData>
    {
        private static readonly string _defaultString = DateTime.Now.Year.ToString();

        private static readonly Regex archiveDataRegex =
            new Regex(@"^(?<year>\d{4})(?:/(?<month>\d{1,2})?(?:/(?<day>\d{1,2})?)?)?(?:/(?:page-(?<page>\d+))?)?$",
                      RegexOptions.Compiled | RegexOptions.IgnoreCase);

        public ArchiveData()
        {
        }

        public ArchiveData(string rawData)
        {
            if (!string.IsNullOrEmpty(rawData))
            {
                Match archiveDataMatch = archiveDataRegex.Match(rawData);

                int year;
                if (archiveDataMatch.Groups["year"].Success &&
                    int.TryParse(archiveDataMatch.Groups["year"].Value, out year))
                {
                    Year = year;
                }

                int month;
                if (archiveDataMatch.Groups["month"].Success &&
                    int.TryParse(archiveDataMatch.Groups["month"].Value, out month))
                {
                    Month = month;
                }

                int day;
后面还有 127 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。